【发布时间】:2011-01-05 03:28:21
【问题描述】:
我正在尝试检测按钮和其他元素的焦点/按下颜色。 这是必需的,因为我正在开发新组件,并且这些组件看起来是平台的一部分很重要。 这些颜色在 android sdk 上为橙色,在 HTC SenseUI 上为绿色。 如果我能检测到该颜色,我的组件将在两个版本上都作为平台的一部分。
有人知道怎么做吗?
可以创建“选择器”,将自定义图像用于默认状态,将平台默认用于焦点/选择。
要做到这一点,请按以下步骤操作: 1)在“res/drawable”中创建带有选择器的xml文件(例如“red_button.xml”):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@android:drawable/btn_default" >
</item>
<item android:state_focused="true"
android:drawable="@android:drawable/btn_default" >
</item>
<item
android:drawable="@drawable/btn_default_red" >
</item>
</selector>
2) 从文件夹 ".../android-sdk-mac/platforms/android-1.5/data/res/drawable/" 拍照 "btn_default_pressed.9.png" 并根据需要更改颜色(我需要将其更改为红色,对于这个 GIMP 就足够了)。
3) 将更改后的图片放在“res/drawable”中(例如,名称为“btn_default_red.9.png”)
4) 定义按钮:
<Button
android:id="@+id/info_button"
android:layout_width="wrap_content"
android:layout_height="37dip"
android:layout_marginTop="1dip"
android:background="@drawable/red_button"
android:text="[Info]" />
就是这样。
这是结果: alt text http://img200.imageshack.us/img200/1349/custombutton.png
【问题讨论】:
标签: android