Android中按钮样式自定义XML文件能不能一个文件写多个样式
我自己用ps做了一系列的按钮还有logo什么的,暂时是一个按钮对应一个drawable中的selector,但是现在各种UI素材已经很多了~文件也越来越多~请问有什么好的...
我自己用ps做了一系列的按钮还有logo什么的,暂时是一个按钮对应一个drawable中的selector,但是现在各种UI素材已经很多了~文件也越来越多~请问有什么好的方法处理这个问题~例如把样式全都定义在一个文件中,或者有其他的方法?求大神指教~~
我重新说明下,我要实现的是怎么集中处理下面这种样式代码,不要一个文件对应一个样式
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/play_pressed" />
<item android:state_focused="true" android:drawable="@drawable/play_pressed" />
<item android:drawable="@drawable/play_show" />
</selector> 展开
我重新说明下,我要实现的是怎么集中处理下面这种样式代码,不要一个文件对应一个样式
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/play_pressed" />
<item android:state_focused="true" android:drawable="@drawable/play_pressed" />
<item android:drawable="@drawable/play_show" />
</selector> 展开
3个回答
展开全部
可以的,你可以在style.XML中写入自己需要的样式,如
<style name="header">
<item name="android:gravity">center_vertical|center_horizontal</item>
<item name="android:orientation">horizontal</item>
<item name="android:background">@drawable/mmtitle_bg</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">50.0dip</item>
</style>
到时候你可以在你需要的XML文件中使用自己定义的样式。如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/header" >
同样你也可以在你的空间中使用。
更多追问追答
追问
这个style中只有背景,大小一类的的设置~我想知道的是按钮样式怎么添加~
追答
你是想怎么改变样式?是想点击后出现不同的效果还是怎么样?
展开全部
Button btn=findviewById(R.id.btn);
StateListDrawable sd = new StateListDrawable();
//设置正常情况下资源文件
Drawable normal = idNormal == getResources().getDrawable(idNormal);
//设置按钮按下情况下资源文件
Drawable pressed = idPressed == getResources().getDrawable(idPressed);
sd.addState(new int[]{android.R.attr.state_pressed, android.R.attr.state_enabled}, pressed);
sd.addState(new int[]{android.R.attr.state_enabled}, normal);
btn.setBackGroundDrawable(sd);
StateListDrawable sd = new StateListDrawable();
//设置正常情况下资源文件
Drawable normal = idNormal == getResources().getDrawable(idNormal);
//设置按钮按下情况下资源文件
Drawable pressed = idPressed == getResources().getDrawable(idPressed);
sd.addState(new int[]{android.R.attr.state_pressed, android.R.attr.state_enabled}, pressed);
sd.addState(new int[]{android.R.attr.state_enabled}, normal);
btn.setBackGroundDrawable(sd);
更多追问追答
追问
这个只是做一个按钮的样式而已~我要解决的是在存在大量的按钮的时候怎么处理代码,让工程文件尽量简洁,要不按钮一多文件数就很多,我的布局是XML加载的,这种的话是java代码加载,不过都一样
追答
这个简单啊,把这些代码抽象出来,放在一个工具类里面就行了。要是不会抽象的话 我可以帮你写一个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-04-17
展开全部
样式放在style里啊
追问
能贴一小段代码给我看看么~还没怎么研究过style.xml
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询