android颜色xml
A. android的xml中怎么实现按钮按下去变颜色
在drawable里新建一个xml,然后写
<selector>
<item android:state_pressed="培明true" android:drawable="按下时的样式"><item>
<item android:state_pressed="false" android:drawable="正常时的样式"><item>
<selector>
然后可以再去创建两个drawable来绘制形状
如果你只是需要改变颜色那么直接在string.xml里写这样两条也行
<drawable name="正常时的样式名字">正常时的颜色值</drawable>
<drawable name="按下时的样式名字">按下时的颜色值</drawable>凯磨
然后名字一一对应就行了
别忘了在控件里引用
android:background="你之前设置的选盯中斗择器"
B. 为什么在xml下直接用android定义背景色不管用
在java文件里设置:
LinearLayout myLayout = () findViewById(R.id.linearLayout1);
myLayout.setBackgroundColor(Color.WHITE);
三、在AndroidManifest.xml里利用android:theme来设置,这个命令还是很强大的,如下所示:
theme的设置 可以设置为系统自带的格式,也可以自定义格式。
A: 系统自带格式
@android:style/Theme.Black //背景黑色-有标题-非全屏
@android:style/Theme.Black.NoTitleBar //背景黑色-无标题-非全屏
@android:style/Theme.Black.NoTitleBar.Fullscreen //背景黑色-无标题-全屏显示
@android:style/Theme.Dialog //对话框显示
@android:style/Theme.InputMethod
@android:style/Theme.Light //背景白色-有标题-非全屏
@android:style/Theme.Light.NoTitleBar //背景白色-无标题-非全屏
@android:style/Theme.Light.NoTitleBar.Fullscreen //背景白色-无标题-全屏显示
@android:style/Theme.Light.Panel
@android:style/Theme.Light.WallpaperSettings //背景透明
@android:style/Theme.NoDisplay
@android:style/Theme.Translucent.NoTitleBar.Fullscreen //半透明、无标题栏、全屏
@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen
可以在单个Activity里设置,也可以在applicaiton里全局设置。比如:
<activity android:screenOrientation="portrait" android:name=".ui.RegisterActivity" android:theme="@android:style/Theme.NoTitleBar"></activity>
B:也可以自定义
在activity里加入 android:theme="@style/MyTitleBar" 再在 style.xml里加入
<style name="MyTitleBar" parent="android:Theme">
<item name="android:windowTitleSize">50dip</item>
<item name="android:windowTitleBackgroundStyle">@style/MyTitleBackground</item>
<item name="android:windowTitleStyle">@style/WindowTitle</item>
</style>
<!-- 自定义标题栏背景图 -->
<style name="MyTitleBackground" parent="android:TextAppearance.WindowTitle">
<item name="android:background">@drawable/bg_topbar</item>
</style>
<style name="WindowTitle" parent="android:TextAppearance.WindowTitle">
<item name="android:singleLine">true</item>
</style>
这里的parent是继承于android:Theme,所以在下面的样式里,只能是window开头的样式才起作用,所有样式请参考\sdk\docs\reference\android\R.attr.html,
也可以设置windowTitleBackgroundStyle 为@style/MyTitleBackground,这样就可以在MyTitleBackground里,设置背景图。
C. Android中TextView中的文字颜色设置setTextColor的用法
原文链接http://blog.csdn.net/u012532559/article/details/44925285
Android 中设置TextView的颜色有方法setTextColor,这个方法被重载了,可以传入两种参数。一种方法是传入int color值,要注意这个int不是R文件中自动分配的十六进制int值,这是Color类中的静态方法构造出来的颜色int值。另一种方法是通过ColorStateList得到xml中的配置的颜色的。好多需要xml中配置的都要类似这样的映射xml文件(比如一个按钮事件的选择器,默认状态为颜色A,点击时状态为颜色B等等选择效果)。
setTextColor的两种重载方法如下:
[java] view plain
publicvoidsetTextColor(intcolor) {
mTextColor = ColorStateList.valueOf(color);
updateTextColors();
}
publicvoidsetTextColor(ColorStateList colors) {
if(colors ==null) {
thrownewNullPointerException();
}
mTextColor = colors;
updateTextColors();
}
第一种重载方法有以下实现方式:
方法一:通过ARGB值的方式
textview.setTextColor(Color.rgb(255,255, 255));
textview.setTextColor(Color.parseColor("#FFFFFF"));
方法二:通过资源引用
textview.setTextColor(mContext.getResources().getColor(R.drawable.contact_btn_text_red))
#f2497c
第二种重载方法的实现:
[java] view plain
textview.setTextColor(mContext.getResources().getColorStateList(R.drawable.big_btn_text_color));
选择器big_btn_text_color.xml
[html] view plain
D. Android Studio如果希望在XML布局文件中调用颜色资源,可以使用( )调用
在xml中调用颜色可以直接使用@color/color_name直接调用
有心的话你应该也能看到或者可以想到,颜色是这么调用,同样String也是这么调用