Android XML中的自定义线性布局
我有一个扩展LinearLayout的类,它接收数组并基于 阵列 现在,在活动的OnCreate方法中创建布局,并使用setContentView 对布局进行修改。Android XML中的自定义线性布局,android,xml,android-layout,Android,Xml,Android Layout,我有一个扩展LinearLayout的类,它接收数组并基于 阵列 现在,在活动的OnCreate方法中创建布局,并使用setContentView 对布局进行修改。 我想知道我是否可以在XML中使用它,就像在布局XML文件中使用LinearLayout一样,还是以类似的方式使用它 如果要在布局中使用自定义的线性布局,请使用声明新元素 在XML布局中: <com.my.package.MyView xmlns:android="http://schemas.android.com/
我想知道我是否可以在XML中使用它,就像在布局XML文件中使用LinearLayout一样,还是以类似的方式使用它 如果要在布局中使用自定义的
线性布局
,请使用声明新元素
在XML布局中:
<com.my.package.MyView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:MyStyleable="http://schemas.android.com/apk/res/com.my.package"
android:id="@id/id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
MyStyleable:attr1="ATTR1 VALUE"
MyStyleable:attr2="ATTR2 VALUE" />
然后在自定义视图类中,从XML检索值:
String attr1 = a.getString(R.styleable.attr1);
boolean attr2 = a.getBoolean(R.styleable.attr2);
希望一切都清楚 好的,但是我如何将我的布尔多维数组传递给它呢?在运行之前你有这个数组吗?@user1050389简单的回答是你不能。您可以设置布局样式并应用自定义属性,但无法在Android上创建XML格式的2D数组。所以,你必须以编程的方式来做,但我需要一个布尔数组。不仅仅是一个属性你可以用同样的方法来做。创建一个字符串
属性,将布尔数组的名称传递给自定义视图!
String attr1 = a.getString(R.styleable.attr1);
boolean attr2 = a.getBoolean(R.styleable.attr2);