android中关于如何动态改变include引入的布局的问题
2014-01-24 09:54
381 查看
其实在android中,并没有include的相关类。虽然include可以看做是一个View,但在java代码中并不能直接对其的属性layout进行设置。如果要想动态地改变include里面的内容,其实可以通过另外一种方式。
在<LinearLayout>中写入多个include,并设置每个include的id。在代码中将include看做是一个View,并设置其的visibility属性值。注意的是,如果设置某个include不可见,只能使用visibility(View.GONE),不能使用visibility(View.invisibility),他们两者是不同的。View.invisibility只是设置改控件不可见,但在布局文件中的位置还存在,View.GONE不仅控件不可见,而且在布局中的位置会被其后面的控件所替代。
关键代码如下:
<LinearLayout
android:id="@+id/energy_content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="7dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="15dp"
android:orientation="vertical"
android:layout_weight="7">
<include
android:id="@+id/include_changeOne"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
layout="@layout/change_one"/>
<include
android:id="@+id/include_histogram"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
layout="@layout/histogram"/>
<include
android:id="@+id/include_stick"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
layout="@layout/stick"/>
</LinearLayout>
View include_changeOne,include_histogram,include_stick;
include_changeOne = findViewById(R.id.include_changeOne);
include_histogram = findViewById(R.id.include_histogram);
include_stick = findViewById(R.id.include_stick);
if(v==indexOne) {
include_changeOne.setVisibility(View.VISIBLE);
}
if(v==indexTwo) {
include_changeOne.setVisibility(View.GONE);
include_histogram.setVisibility(View.VISIBLE);
//include_stick.setVisibility(1);
}
if(v==indexThree){
include_changeOne.setVisibility(View.GONE);
include_histogram.setVisibility(View.GONE);
include_stick.setVisibility(View.VISIBLE);
}
在<LinearLayout>中写入多个include,并设置每个include的id。在代码中将include看做是一个View,并设置其的visibility属性值。注意的是,如果设置某个include不可见,只能使用visibility(View.GONE),不能使用visibility(View.invisibility),他们两者是不同的。View.invisibility只是设置改控件不可见,但在布局文件中的位置还存在,View.GONE不仅控件不可见,而且在布局中的位置会被其后面的控件所替代。
关键代码如下:
<LinearLayout
android:id="@+id/energy_content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="7dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="15dp"
android:orientation="vertical"
android:layout_weight="7">
<include
android:id="@+id/include_changeOne"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
layout="@layout/change_one"/>
<include
android:id="@+id/include_histogram"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
layout="@layout/histogram"/>
<include
android:id="@+id/include_stick"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
layout="@layout/stick"/>
</LinearLayout>
View include_changeOne,include_histogram,include_stick;
include_changeOne = findViewById(R.id.include_changeOne);
include_histogram = findViewById(R.id.include_histogram);
include_stick = findViewById(R.id.include_stick);
if(v==indexOne) {
include_changeOne.setVisibility(View.VISIBLE);
}
if(v==indexTwo) {
include_changeOne.setVisibility(View.GONE);
include_histogram.setVisibility(View.VISIBLE);
//include_stick.setVisibility(1);
}
if(v==indexThree){
include_changeOne.setVisibility(View.GONE);
include_histogram.setVisibility(View.GONE);
include_stick.setVisibility(View.VISIBLE);
}
相关文章推荐
- [Android初级]关于如何解决软键盘弹出后覆盖界面布局的问题
- 关于Android动态改变recyclerview的item的布局
- 【Android动态布局】之【使用addView方法时,如何保持已有动态控件位置不被改变】
- Android中xml布局文件中使用include引入布局进行复用(解决使用include布局重叠,颜色设置无效问题)
- 关于如何在android系统平台中使用AAR包的问题
- Android 5.0上动态布局层级覆盖问题
- 关于.Net页面弹出对话框而改变CSS布局的问题
- Android约束布局ConstraintLayout动态设置Id失效问题解决办法
- Android学习问题:关于AlertDialog中自定义布局带有的EditText无法弹出键盘
- Android之根布局动态加载子布局时边距设置无效问题
- Android 如何点击改变ListView行布局的TextView内容和颜色背景
- 关于android中改变TextView背景颜色以及文字颜色的问题
- Android中软键盘弹出时关于布局的问题
- 关于ListView嵌套ListView时,内层ListView动态改变的问题
- 关于iphone 上touch事件动态改变元素位置时与touch点发生偏移的问题
- 关于webpart 的问题:一个用户修改了页面布局,如何应用于网站的所有用户?
- Android动态改变布局
- android中的布局(三)ToggleButton的运用 实现布局的动态改变
- Android动态改变布局