转载自:http://blog.csdn.net/dinglin_87/article/details/7885806
selector想必大家都用过了,但是在修改字体的颜色的时候还是要细心。
我们在TextView中设置字体颜色一般使用
android:textColor="@color/red"
但是我们在使用selector动态修改字体颜色的时候要使用
- android:color="@color/red"
我遇到这个问题的时候是在TabActivity中,每个Tab在选中的时候修改为蓝色。
tab_item.xml的代码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/ll_software_tabwidget_item"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:gravity="center_horizontal"
- android:orientation="vertical" >
- <ImageView
- android:id="@+id/iv_software_tabwidget_icon"
- android:layout_width="30dip"
- android:layout_height="30dip"
- android:layout_marginBottom="1dip"
- android:layout_marginTop="5dip"
- android:scaleType="fitXY" />
- <TextView
- android:id="@+id/tv_software_tabwidget_text"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="5dip"
- android:textColor="@drawable/software_textcolor"
- android:textSize="14dip" />
- </LinearLayout>
注意android:textColor="@drawable/software_textcolor",即software_textcolor.xml就是selector,源码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:state_selected="true" android:color="@color/software_textColor_selected"></item>
- <item android:state_selected="false" android:color="@color/software_textColor_unselected"></item>
- </selector>
这个文件中就是要注意的地方了,必须使用android:color="@color/software_textColor_selected",不能使用android:textColor属性。
另附color.xml的源码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <color name="software_textColor_selected">#FF1C94EA</color>
- <color name="software_textColor_unselected">#FFDCE0DF</color>
- </resources>
相关推荐
本文将深入探讨如何使用Selector来修改TextView的字体颜色和背景颜色。 首先,我们来创建两个XML文件,分别用于定义背景色和字体颜色的Selector。这两个文件将放在项目的res/color目录下。 1. `tbackground.xml` -...
在Android开发中,动态设置TextView字体颜色是一项常见的需求。开发者可能需要根据用户的操作、应用程序的状态或者数据的变化来改变TextView的文字颜色。这篇博文“android动态设置TextView字体颜色”为我们揭示了...
2. **定义状态**:在selector文件中,使用`<item>`标签定义图标在不同状态(如`android:state_pressed="true"`,`android:state_focused="true"`)下的表现,包括图标颜色、描边等属性。 3. **引用iconfont**:在`...
- 根据选中状态,使用`TextView.setTextColor()`方法设置相应的颜色。 6. **设置图片**: - 创建两种图片资源,一种是默认图片,另一种是选中状态的图片。 - 使用`ImageView.setImageResource()`方法根据选中...
如果你想修改的不仅仅是颜色,而是整个内容的样式,如字体大小、类型等,你可以创建一个自定义的`TextView`并应用到`NumberPicker`。这需要重写`NumberPicker`的`onCreateView()`方法,替换默认的`Spinner`视图: ...
3. **自定义字体和样式**:通过加载自定义字体文件并将其应用于`TextView`,可以在标题中使用独特的字体。可以使用`Typeface`类来加载字体,并将其应用于`Toolbar`的标题。 接下来,我们关注按钮的定制。Android的...
- **文字颜色**:文本的颜色,使用`setTextColor()`方法设置。 - **圆角大小**:控制矩形的圆角半径,设置`addRoundRect()`方法的参数即可。 4. **属性解析**: 自定义View的属性通常通过XML资源文件定义,并在...
在安卓中,我们可以使用TextView的setTextColor方法,或者通过设置Selector来实现文字颜色的变化。源码中应该包含了动态修改文字颜色的逻辑。 3. Activity跳转:底部菜单的点击事件通常会触发Activity的切换,以便...
- 对按钮进行主题设置可以改变其背景、文字颜色、字体大小等属性。 在"3.ButtonDemo"这个项目中,开发者可能创建了自定义的shape和selector资源文件,用于改变按钮的外观。可能还修改了应用的主题,使所有按钮统一...
控件美化通常涉及修改控件的样式和主题,例如修改TextView的颜色、字体、大小,Button的背景图、文字颜色等。这些可以通过定义自定义样式和在XML布局文件中引用来实现。此外,使用Shape、Selector等资源文件可以创建...
这包括改变文字颜色、背景色、边框、阴影等。例如,可以使用XML资源文件定义样式,或者在Java代码中动态设置属性。同时,利用selector(选择器)可以根据Button的状态(如按下、焦点、默认状态)改变其显示效果。 ...
在这个布局中,可以设置一个TextView用于显示蒙古文,同时可能还需要考虑到字体和字号的设置,确保文字能正确地显示蒙古文字符。 2. **适配器(Adapter)**:创建一个自定义的Adapter,继承自`BaseAdapter`或`...
1. **样式定制**:通过设置背景资源、文字颜色、文字大小等属性,使按钮外观符合设计稿。可以使用XML中的`<selector>`标签来定义不同状态(如按下、焦点)下的样式。 2. **点击效果**:通过重写`onTouchEvent()`...
这段代码中,`categoryTitle.setTextColor()`用于设置文字颜色,`categoryTitle.setBackgroundResource()`用于设置背景色,这里使用了一个名为`categorybar_item_background`的drawable资源。 如果我们想要通过XML...
- 使用selector:定义一个state_list drawable资源,根据按钮的状态(如按下、正常)展示不同的背景和文字颜色。 5. **ButtonDemo项目** 提供的ButtonDemo可能是包含一个简单的Button示例应用,演示了如何创建、...
- 菜单项通常包含图标和文字,需要使用`ImageView`显示图标,`TextView`显示文字。 - 使用`LinearLayout`或`GridLayout`对菜单项进行排列,以便在屏幕中均匀分布。 2. **动画效果**: - 弹出动画:使用`...
定义一个自定义主题,覆盖默认的窗口背景、文字颜色、按钮样式等。这样,所有使用这个主题的Dialog都会自动应用新的样式。 **触摸反馈** 为了提供更好的用户交互体验,可以为Dialog的元素添加触摸反馈,如点击后的...
`textColorHint`规定了输入框为空时的提示文字颜色;`digits`限制输入的字符集,如只允许输入数字;`maxLength`设置最多输入的字符数;`password`模式下,输入的内容会被遮盖。 3. **Button**:Button作为用户交互...
2. 文字颜色可以通过设置颜色资源或十六进制颜色代码实现。 3. 当文本过长时,可以使用`android:maxLines`限制最多显示的行数,`android:ellipsize`决定省略号的显示位置,如`"end"`表示末尾省略。 4. 通过`android:...
2. **样式定制**:通过修改背景颜色、文字颜色、按钮样式等属性,来满足视觉设计要求。可以使用Shape、selector等资源文件,为不同状态(如正常、选中、悬浮)设置不同的样式。 3. **事件处理**:TitleBar上的按钮...