布局中@null的代码实现方式
16lz
2021-01-26
布局中通常会用到@null。如RadioButton常用的技巧通过RadioGroup实现Tab,需要设置android:button="@null"。如果要在代码中动态创建控件,android中并不能找到相关的属性或方法。搜索均无解决办法,最后想到一个变通的方法:通过透明色获取drawable。
Java代码- setButtonDrawable(getResources().getDrawable(android.R.color.transparent))
实际还是可以通过布局的方法来动态创建控件。先创建一个RadioButton的rb.xml
Xml代码
- <?xmlversion="1.0"encoding="utf-8"?>
- <RadioButtonxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:button="@null">
- </RadioButton>
再在代码生成RadioButton
Java代码
- RadioButtonrb=(RadioButton)LayoutInflater.from(getContext()).inflate(R.layout.rb,null);
这种方式的好处是样式等属性可以在布局中统一指定省的查sdk寻找相关属性的设置方法。
更多相关文章
- Android系统java层次service实现
- Android中抛出android.app.Fragment$InstantiationException异常
- Android上实现一个简单的天气预报APP(二) 配置布局
- OkHttp学习系列二:谈谈Android中使用的坑
- Android(安卓)学习之路3
- 4 行代码实现 ANDROID 快速文件下载
- ART模式下dex2oat出错导致系统无法正常启动
- 简述Android六大布局
- Xamarin Android开发实战(上册)