java - 全局定义的布局元素
问题描述
我正在尝试在我的 Android 应用程序的每个布局的底部添加一个“你离线”元素。我想全局定义它,而不是将相同的元素粘贴到每个 xml 布局文件中。
我可能可以创建一些 ParentActivity 并以编程方式附加它,但这是一个好的解决方案吗?
什么是最好的方法?
谢谢。
解决方案
使用自定义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();
希望它会有所帮助。
推荐阅读
- c++ - 带有正交编码器 600ppr 的 Arduino RPM 代码
- typescript - 如何将全局注入打字稿进行测试?
- java - 字符数组的arraylist java
- android - 如何使用服务帐户在 Android 中访问 Dialogflow API V2?
- .net - Docker 在 Visual Studio 2017 中不起作用
- ubuntu - 如何在 Ubuntu 18.04 上安装和配置 Dart 2 和 Aqueduct?
- cntk - 显示两个指标 CNTK 网络?
- docker - Docker Swarm 服务 - 将服务模式从副本更改为全局而不重新创建 docker 服务
- laravel - 有没有办法将值插入请求(Laravel5)
- c++ - 程序适用于小迭代,但在大迭代期间抛出向量下标超出范围