首页 > 解决方案 > 全局定义的布局元素

问题描述

我正在尝试在我的 Android 应用程序的每个布局的底部添加一个“你离线”元素。我想全局定义它,而不是将相同的元素粘贴到每个 xml 布局文件中。

我可能可以创建一些 ParentActivity 并以编程方式附加它,但这是一个好的解决方案吗?

什么是最好的方法?

谢谢。

标签: javaandroid

解决方案


使用自定义BottomSheetDialog. 您不必将其包含在布局文件中。相反,您将以编程方式调用它。

底部消息对话框:

public class BottomMessageDialog extends BottomSheetDialog {

    public BottomMessageDialog(@NonNull Context context) {
        super(context);
        setContentView(R.layout.dialog_bottom_message);
    }
}

dialog_bottom_message.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="You are offline"
        android:textSize="18sp"
        android:gravity="center"/>

</LinearLayout>

称它为:

BottomMessageDialog bottomMessageDialog = new BottomMessageDialog(MainActivity.this);
bottomMessageDialog.show();

希望它会有所帮助。


推荐阅读