当前位置:首页 » 安卓系统 » android动态设置颜色

android动态设置颜色

发布时间: 2024-01-12 20:31:00

‘壹’ android 动态设置按钮背景的渐变颜色

在一个xml文件中定义需要用到gradient,然后用drawable设置,大致是这样

‘贰’ Android怎么动态更改actionbar的背景颜色

Android动态更改actionbar的背景颜步骤:

在backgroud下面再写一个style,修改values-v14文件夹下的style.xml文件
[html] view plain
<resources xmlns:android="http://schemas.android.com/apk/res/android">

<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 14 theme customizations can go here. -->
<item name="android:actionBarStyle">@style/my_actionbar_style</item>
</style>

<style name="my_actionbar_style" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#647b97</item>
<item name="android:titleTextStyle">@style/AcBar_titleStyle</item>
[html] view plain
<item name="android:backgroundStacked">#4A708B</item> <!-- 分离成tab时的tab颜色 -->
[html] view plain
<item name="android:backgroundSplit">@color/ab_backgroundSplit_color</item>
</style>
<style name="AcBar_titleStyle">

<item name="android:textColor">#FFFFFF</item>
</style>

</resources>

<item name="android:backgroundSplit">@color/ab_backgroundSplit_color</item> actionbar item
这样就分离在底部时候的颜色。

‘叁’ android 如何设置TextView中字体在不同状态下的颜色

TextView的字体设置方法:
1、直接通过配置文件设置
2、在Activity类中进行设置

第一种方式很简单,用于静态或初始文字颜色的设置,方法如下:

main.xml

Xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
>
<TextView
android:id="@+id/tv01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:autoLink="all"
android:textColor="@color/red"
/>
</LinearLayout>
color.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#FF0000</color>
</resources>
drawable.xml

Xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="white">#FFFFFF</drawable>
<drawable name="dark">#000000</drawable>
<drawable name="red">#FF0000</drawable>
</resources>
strings.xml

Xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">地址:http://yahaitt.javaeye.com</string>
<string name="app_name">丫梨的笔记本</string>
</resources>

上面将资源部分分成了3个部分,目的是为了清晰,当然你也可以只建一个xml文件放在res目录下,而且文件名称可以随便命名。

注意两个地方:
1、main.xml的TextView标签中:
android:textColor="@color/red"
2、color.xml中:
<color name="red">#FF0000</color>

@color指获取资源文件中(所有res目录下的xml文件)的<color>标签
/red指在标签下找其name值为red的内容,此时其值为#FF0000

因此,这里我们还可以这样做:
android:textColor="@drawable/red"

@drawable指获取资源文件中<drawable>标签
/red指在标签下找其name值为red的内容

以此类推,相信你也就知道了如果是在strings.xml中该怎么做了。

下面看看第二种方式:在Activity类中进行设置

1、先将main.xml改成如下,即去掉android:textColor="@color/red":

Xml代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
>
<TextView
android:id="@+id/tv01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:autoLink="all"
/>
</LinearLayout>
2、修改Activity的onCreate方法,这里我的Activity是Study03_01,原始代码如下:

Java代码
package yahaitt.study03_01;

import android.app.Activity;
import android.os.Bundle;

public class Study03_01 extends Activity { @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

第一步:获得文本控件TextView,取名为tv

第二步:通过TextView的setTextColor方法进行文本颜色的设置,这里可以有3种方式进行设置:

第1种:tv.setTextColor(android.graphics.Color.RED);//系统自带的颜色类

第2种:tv.setTextColor(0xffff00ff);//0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示颜色,注意:这里ffff00ff必须是8个的颜色表示,不接受ff00ff这种6个的颜色表示。

第3种:tv.setTextColor(this.getResources().getColor(R.color.red));//通过获得资源文件进行设置。根据不同的情况R.color.red也可以是R.string.red或者R.drawable.red,当然前提是需要在相应的配置文件里做相应的配置,如:
<color name="red">#FF0000</color>
<drawable name="red">#FF0000</drawable>
<string name="red">#FF0000</string>

详细的代码如下:
Java代码
package yahaitt.study03_01;

import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;

public class Study03_01 extends Activity {

private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tv = (TextView)this.findViewById(R.id.tv01);

// tv.setTextColor(Color.RED);

// tv.setTextColor(0xff000000);

‘肆’ 如何通过代码动态改变android的窗口背景颜色

Android修改背景,边框等代码如下:

<?xmlversion="1.0"encoding="utf-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android">

<!--圆角-->
<corners
android:radius="9dp"
android:topLeftRadius="2dp"
android:topRightRadius="2dp"
android:bottomLeftRadius="2dp"
android:bottomRightRadius="2dp"/><!--设置圆角半径御答-->

<!--渐变-->
<gradient
野拆袜android:startColor="@android:color/white"
android:centerColor="@android:color/black"
颂激android:endColor="@android:color/black"
android:useLevel="true"
android:angle="45"
android:type="radial"
android:centerX="0"
android:centerY="0"
android:gradientRadius="90"/>

<!--间隔-->
<padding
android:left="2dp"
android:top="2dp"
android:right="2dp"
android:bottom="2dp"/><!--各方向的间隔-->

<!--大小-->
<size
android:width="50dp"
android:height="50dp"/><!--宽度和高度-->

<!--填充-->
<solid
android:color="@android:color/white"/><!--填充的颜色-->

<!--描边-->
<stroke
android:width="2dp"
android:color="@android:color/black"
android:dashWidth="1dp"
android:dashGap="2dp"/>

</shape>

‘伍’ 如何改变画布颜色android的动态,每5秒

改变画布的颜色,有两个方法: 1.在新建文档时,选择画布的颜色,如下图,在背景内容中,系统配置有三种选择,一是白色、二是背景色、三是透明,如果要选择其它的颜色,可以在新建文档之前,设置背景色。 2.在新建文档之后,也可以改变背景色,方法是:编辑--填充,如下图,点击颜色,它会出来一个拾色器,右在拾色器中选择颜色。 在PS中,给予透明图层一个特别的定义,即灰白相间的格子,如下图:

‘陆’ Android设置状态栏颜色和状态栏文字、图标颜色

Android开发中,经常需要实现下图状态栏的效果,类似于沉浸式状态栏,但这里仅仅是讨论设置状态栏的颜色和状态栏上面文字、图标的颜色的方法。

Android 4.4(API 19)之后,就提供了修改状态栏颜色的方法,但是在 Android 6.0(API 23)之后,才支持修改状态栏上面的文字和图标颜色,默认是白色的。所以会导致一个问题,在 4.4 到 6.0 之间的系统,状态栏设置为浅色的话,状态栏上面白色的文字和图标会看不清,像下面这样:

有一些第三方的系统提供了设置状态栏和状态栏文字、图标颜色的方法,比如小米的MIUI和魅族的Flyme,所以考虑了下比较好的实现方式是:

当然,这里面也会有坑,比如 MIUI 提供的修改状态栏字体颜色方法会跟 Android 系统自带的方法冲突,官方说明如下: 关于MIUI状态栏字符颜色逻辑调整说明
经过网上的资料和自己的尝试,MIUI 系统还是同时使用 MIUI 提供的方法和 Android 系统自带的方法来修改状态栏字体颜色比较保险。

基于上面的思考,封装了设置 Android 4.4 以上系统状态栏颜色和状态栏字体、图标颜色的方法:

要在 Application Theme 加上 <item name="android:fitsSystemWindows">true</item> ,不然页面会顶到状态栏上面,或者在 Activity 的布局里面加上 android:fitsSystemWindows="true" 和 android:clipToPadding="false" 也可以。

最终实现的效果如下:

大家有更好的方案可以告诉我~

热点内容
请求分段存储 发布:2024-11-28 21:23:20 浏览:458
zip伪加密 发布:2024-11-28 21:23:17 浏览:226
linuxshell路径 发布:2024-11-28 21:13:05 浏览:994
存储为web所用格式切片 发布:2024-11-28 21:11:23 浏览:452
服务器电脑主机怎么装 发布:2024-11-28 21:06:41 浏览:222
android调用aidl 发布:2024-11-28 21:05:46 浏览:867
csol源码 发布:2024-11-28 21:04:29 浏览:661
菲斯塔新能源车买哪个配置 发布:2024-11-28 21:02:53 浏览:846
广数编程p 发布:2024-11-28 20:38:37 浏览:666
sql2008vs2010 发布:2024-11-28 20:38:34 浏览:374