Android开发中,如何给动态生成的Button指定Style样式???

Button对象没有setStyle方法....好奇怪... Button对象没有 setStyle方法.... 好奇怪 展开
 我来答
dongdng
推荐于2017-09-08 · TA获得超过8158个赞
知道大有可为答主
回答量:9168
采纳率:88%
帮助的人:2307万
展开全部
自定义样式方法,可以直接通过定义xml文件来实现不同的样式:
只需要修改button_style文件,同样三种状态分开定义:
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<gradient android:startColor="#0d76e1" android:endColor="#0d76e1"
android:angle="270" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="2dp" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>

<item android:state_focused="true">
<shape>
<gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7"
android:angle="270" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="2dp" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>

<item>
<shape>
<gradient android:startColor="#000000" android:endColor="#ffffff"
android:angle="180" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="5dip" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>
</selector>

gradient 主体渐变 startColor开始颜色,endColor结束颜色 ,angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)
stroke 边框 width 边框宽度,color 边框颜色
corners 圆角 radius 半径,0为直角
padding text值的相对位置
过璞Va
推荐于2017-09-01 · TA获得超过1967个赞
知道小有建树答主
回答量:328
采纳率:100%
帮助的人:302万
展开全部
final View layout = View.inflate(Launcher.this, R.layout.custom_btn, null);
Button btn = (Button) layout.findViewById(R.id.custom_btn);
你可以在custom_btn.xml里描画好你要动态生成的Button,然后用的时候用上面的代码
追问
我的需求是从list中获取数据,并生成一组按钮,这是我现在的代码:
Button btn_examItm = (Button) customBtnView.findViewById(R.id.btn_examItm);
llt_examItm.addView(btn_examItm);
我按照您给的方法写了,执行的时候报这个错误:The specified child already has a parent. You must call removeView() on the child's parent first.,查了好多资料都没解决,再麻烦一下您吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
moleinuoyi
2019-10-22
知道答主
回答量:2
采纳率:0%
帮助的人:1099
展开全部
Button btn = (Button) findViewById(R.id.XXXX);

btn .setBackgroundResource(R.drawable.buttonstyle);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式