Android ViewStub 示例代码 - 详细指南与最佳实践
以下是一个简单的 Android ViewStub 示例代码:\n\n1. 在 XML 布局文件中添加 ViewStub 元素:\nxml\n<LinearLayout\n xmlns:android="http://schemas.android.com/apk/res/android"\n xmlns:tools="http://schemas.android.com/tools"\n android:layout_width="match_parent"\n android:layout_height="match_parent"\n android:orientation="vertical">\n\n <!-- 其他布局元素 -->\n\n <ViewStub\n android:id="@+id/view_stub"\n android:layout_width="match_parent"\n android:layout_height="wrap_content"\n android:inflatedId="@+id/inflated_layout"\n android:layout="@layout/inflated_layout" />\n\n</LinearLayout>\n\n\n2. 创建一个新的布局文件inflated_layout.xml,定义要在 ViewStub 中展示的布局:\nxml\n<LinearLayout\n xmlns:android="http://schemas.android.com/apk/res/android"\n android:layout_width="match_parent"\n android:layout_height="wrap_content"\n android:orientation="vertical">\n\n <!-- 在这里定义要显示的视图元素 -->\n\n</LinearLayout>\n\n\n3. 在 Activity 或 Fragment 中使用 ViewStub:\njava\npublic class MainActivity extends AppCompatActivity {\n\n private ViewStub viewStub;\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n\n viewStub = findViewById(R.id.view_stub);\n viewStub.inflate(); // 填充 ViewStub 中的布局\n\n // 或者通过监听 ViewStub 的 Inflate 事件来执行操作\n viewStub.setOnInflateListener(new ViewStub.OnInflateListener() {\n @Override\n public void onInflate(ViewStub stub, View inflated) {\n // 执行操作\n }\n });\n }\n}\n\n\n这样,当 ViewStub 被填充时,inflated_layout.xml 中定义的布局将会显示在 ViewStub 的位置上。
原文地址: https://www.cveoy.top/t/topic/ptIW 著作权归作者所有。请勿转载和采集!