我有一个动态创建Button
for(int i = 0; i < 10; i++){
Button button = new Button(activity);
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(200, 100);
button.setLayoutParams(lparams);
button.setTag(0);
buttonArray[i] = button;
layout.addView(button);
}
我创建了一个drawable
( d.xml ),我必须将其应用于按钮
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="#FFFFFF"/>
</shape>
我无法做的是将 d.xml 应用于我动态创建的按钮。
有人能帮助我吗?提前谢谢。
答案 0 :(得分:1)
使用Button的设置后台资源:
for(int i = 0; i < 10; i++){
Button button = new Button(activity);
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(200, 100);
button.setLayoutParams(lparams);
button.setTag(0);
button.setBackgroundResource(R.drawable.d);
buttonArray[i] = button;
layout.addView(button);
}
答案 1 :(得分:1)
使用
button.setBackgroundResource(R.drawable.your_resource);
答案 2 :(得分:1)
.
执行button.setTag(0);
后,在for循环中
答案 3 :(得分:1)
创建背景可绘制后,可以将其应用于代码中动态生成的按钮。
如果您的最低版本是API 21(Lollipop),请使用
button.setBackground(activity.getDrawable(R.drawable.d)
您还可以将setBackgroundDrawable
用于较低的API。
更合适的解决方案是使用
button.setBackgroundResouce(R.drawable.d)
放手一搏!