请帮助我在activity_main.xml文件的布局中包含许多带有文本和图像的按钮。
<Button
android:drawableTop="@drawable/ring"
android:id="@+id/Button1"
android:text="pic1" />
其他每个按钮都有不同的@drawable资源,id和文本。
问题:我如何以编程方式遍历MainActivity.java中的每个按钮并获取@drawableTop属性的值,因此在上面的例子中 - ring
答案 0 :(得分:1)
首先,您需要知道有多少孩子拥有您正在使用的LinearLayout或RelativeLayout。然后,创建一个循环来获取每个孩子。最后,验证视图的类型并获得可绘制的顶部。
LinearLayout layout = setupLayout();
int count = layout.getChildCount();
View view = null;
for(int i=0; i<count; i++) {
view = layout.getChildAt(i);
if (view instanceof Button) {
Button myButton = (Button) view;
Drawable drawableTop = myButton.getCompoundDrawables()[1];
//YOUR CODE
}
}
答案 1 :(得分:0)
来自文档:
Drawable [] getCompoundDrawables()
返回左,上,右和下边框的drawable。
所以
if [ -n "`diff file1 file2`" ]
then `echo -e "\u2713"`
fi
将返回drawable for top。