我正在尝试检测按钮和其他元素的焦点/按下颜色.这是必要的,因为我正在开发新组件,重要的是那些看起来像平台的一部分.这些颜色在Android sdk上是ORANGE,在HTC SenseUI上是GREEN.如果我能检测到这种颜色,我的组件将在两个版本上看作平台的一部分.
有谁知道怎么做?
可以创建"选择器",其使用自定义图像作为默认状态和平台默认值进行聚焦/选择.
要执行此操作,请按照以下步骤操作: 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>
Run Code Online (Sandbox Code Playgroud)
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]" />
Run Code Online (Sandbox Code Playgroud)
就这样.
结果如下: alt text http://img200.imageshack.us/img200/1349/custombutton.png
android ×1