Android局部布局替换实现
16lz
2021-12-04
最近的开发中遇到了这个问题,我采用了一种比较取巧的方法来实现:
在布局文件中设置两个要替换的页面的visibility属性:
<include android:id="@+id/include1" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1.1" layout="@layout/footer_friendsinfo" /> <include android:id="@+id/include2" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1.1" android:visibility="gone" layout="@layout/footer_asured_info" />
即一个暂时显示,另一个处于隐藏状态(Android中控件visibility属性的三种状态:
可见(visible)
XML文件:android:visibility="visible"
Java代码:view.setVisibility(View.VISIBLE);
不可见(invisible)
XML文件:android:visibility="invisible"
Java代码:view.setVisibility(View.INVISIBLE);
隐藏(GONE)
XML文件:android:visibility="gone"
Java代码:view.setVisibility(View.GONE);)
接着在相应的Java文件中获取布局对象,设置其Visibility属性:
//更换布局LinearLayout layout1 = (LinearLayout) v.findViewById(R.id.include1);LinearLayout layout2 = (LinearLayout) v.findViewById(R.id.include2);layout1.setVisibility(View.GONE);layout2.setVisibility(View.VISIBLE);
这样就可以实现局部布局的替换了。
更多相关文章
- Android(安卓)NDK概述
- Android动画学习笔记-Android(安卓)Animation
- android学习之LinearLayout
- RecylcerView中的子view matchParent属性失效的问题
- 自定义控件其实很简单2/3
- Android(安卓)Animaition
- EditText属性大全
- 用gradle 来打包Android
- Android(安卓)引入AspectJ的记录