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也是這么調用