侧边栏壁纸
博主头像
零点诗人的博客博主等级

金猴奋起千钧棒,玉宇澄清万里埃。

  • 累计撰写 8 篇文章
  • 累计创建 18 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

覆盖层及其使用

Daryl
2024-06-16 / 0 评论 / 0 点赞 / 29 阅读 / 3181 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-06-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1. 创建覆盖层布局

首先,创建一个布局文件作为覆盖层。

<!-- res/layout/overlay_layout.xml -->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#80000000"> <!-- 半透明黑色背景 -->

    <!-- 在这里添加覆盖层的UI组件,例如一个关闭按钮 -->
    <Button
        android:id="@+id/closeOverlayButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="关闭覆盖层"
        android:layout_gravity="center" />

</FrameLayout>

2. 创建覆盖层Fragment

创建一个Fragment来管理覆盖层的显示和隐藏。

复制

public class OverlayFragment extends Fragment { private View overlayView; public OverlayFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment overlayView = inflater.inflate(R.layout.overlay_layout, container, false); // 设置关闭按钮的点击事件 Button closeButton = overlayView.findViewById(R.id.closeOverlayButton); closeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { hideOverlay(); } }); return overlayView; } private void hideOverlay() { // 隐藏覆盖层Fragment getFragmentManager().beginTransaction() .remove(OverlayFragment.this) .commit(); } }

3. 在Activity中添加覆盖层Fragment

在Activity中,通过FragmentManager添加覆盖层Fragment。

public class MainActivity extends AppCompatActivity {

    private OverlayFragment overlayFragment;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 检查覆盖层Fragment是否已经添加
        if (savedInstanceState == null) {
            overlayFragment = new OverlayFragment();
            getSupportFragmentManager().beginTransaction()
                    .add(android.R.id.content, overlayFragment) // 使用android.R.id.content作为容器
                    .commit();
        }
    }
}

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区