设置背景或颜色

在设置视图的背景或者设置字体的颜色时,总会遇到各种问题,特别是用代码来设置时,下面进行一一说明

一、设置背景颜色——单一颜色设置

设置单一颜色有两种方式:

1.定义颜色资源,然后引用资源1.定义颜色资源,然后引用资源

定义颜色资源(在res→values→colors文件中增加定义):

<resources>
	<color name="white">#ffffff</color>
</resources>

在xml布局文件中的设置:

android:background="@color/white"

在代码中设置:

view.setBackgroundColor(getResources().getColor(R.color.white));


2.直接使用rgb颜色

在xml布局中的设置:

android:background="#ffffff"

在代码中设置:

view.setBackgroundColor(Color.parseColor("#ffffff"));

或者

view.setBackgroundColor(Color.rgb(0xff, 0xff, 0xff));


二、设置背景颜色——根据状态的多种颜色设置

需要先将颜色定义为drawable资源,然后定义选择器的drawable资源,最后才能设置

将颜色定义为drawable资源(在res→values→colors或drawable中增加定义):

<resources>
	<drawable name="red">#ff0000</drawable>
	<drawable name="green">#00ff00</drawable>
</resources>

定义选择器的drawable资源(在res→drawable文件夹中增加定义的资源文件,假设资源文件的名称为selector):

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/drawable1"/>
    <item android:state_pressed="false" android:drawable="@drawable/drawable2"/>
</selector>

具体状态可根据实际情况更改。

在xml布局中设置:

android:background="@drawable/selector"

在代码中设置:

view.setBackgroundResource(R.drawable.selector);

三、设置背景图片——单一图片

将图片复制进工程,然后进行设置。

假设图片名为drawable_1

在xml布局文件中设置:

android:background="@drawable/drawable_1"

在代码中设置:

view.setBackgroundResource(R.drawable.drawable_1);


四、设置背景图片——根据状态的多张图片设置

定义选择器的图片资源,然后进行设置

定义选择器的图片资源(在res→drawable文件夹中增加定义的资源文件,假设资源文件名为btn_selector):

<selector xmlns:android="http://schemas.android.com/apk/res/android">
	<item android:drawable="@drawable/button_disabled" android:state_enabled="false" />
	<item android:drawable="@drawable/button_pressed" android:state_pressed="true"/>
	<item android:drawable="@drawable/button_normal"/>
</selector>  
状态可根据具体情况设置

在xml中设置:

android:background="@drawable/btn_selector"

在代码中设置:

view.setBackgroundResource(R.drawable.btn_selector);


五、设置字体颜色——单一颜色

设置单一颜色有两种方式:

1.定义颜色资源,然后引用资源1.定义颜色资源,然后引用资源

定义颜色资源(在res→values→colors文件中增加定义):

<resources>
	<color name="white">#ffffff</color>
</resources>

在xml布局文件中设置:

android:textColor="@color/white"

在代码中设置:

view.setTextColor(getResources().getColor(R.color.white));


2.直接使用rgb颜色

在xml布局文件中设置:

android:textColor="#ffffff"

在代码中设置:

view.setTextColor(Color.parseColor("#ffffff"));

或者

view.setTextColor(Color.rgb(0xff, 0xff, 0xff));


六、设置字体颜色——根据多种状态不同颜色的设置

需要先将颜色定义为color资源,然后定义选择器的color资源,最后才能设置

将颜色定义为color资源(在res→values→colors文件中增加定义):

<resources>
	<color name="red">#ffff0000</color>
	<color name="blue">#ff0000ff</color>
</resources>


定义选择器的color资源(在res→values→color文件夹中增加定义的资源文件,假设资源文件名为text_color_selector):

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:color="@color/red"/>
    <item android:state_pressed="false" android:color="@color/blue"/>
</selector>

状态可根据实际情况更改。

在xml布局文件中设置:

android:textColor="@color/text_color_selector"

在代码中设置:

view.setTextColor(getResources().getColorStateList(R.color.rb_text_selector));



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值