我想在我的Android应用程序中使用Button,但我想自定义它的外观。但是,我希望按钮的高亮和选定颜色与默认颜色相同(即深色和浅橙色渐变,或主题颜色提供的任何颜色)。
是否有获得默认突出显示/选定的drawable并将其用作所选和突出显示状态下按钮的填充?
谢谢!
答案 0 :(得分:3)
你要求两个不同的东西,你想要drawables还是colorcode? p>
无论如何,你可以在这里找到drawables的名字:http://androiddrawableexplorer.appspot.com/ 我不知道你是否可以直接在你的应用程序中使用它们,或者你必须先将它们保存到drawables文件夹中,但你可以在你的sdk中找到它们。如果你想要颜色代码,使用gimp从图片中提取它们。
答案 1 :(得分:3)
似乎你可以在选择器内使用选择器作为drawable!
(您可以或不应该使用@android:drawable/btn_default_selected
,因为它是私有的)
您可以编写自己的选择器并使用整个默认的android选择器来获取您想要默认行为的项目。
我使用了这个选择器
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@android:drawable/btn_default" android:state_pressed="true"/>
</selector>
并将其添加为线性布局的背景。 我不知道为什么,但这也搞砸了填充/边距,这就是我将它们设置为0的原因。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_linear_layout_button"
android:padding="0dp"
android:layout_margin="0dp"
android:orientation="vertical" >
<!-- YOUR LAYOUT THAT ACTS LIKE A BUTTON -->
</LinearLayout>
结果是你有未处理状态的父背景颜色和按下状态的android背景颜色。
答案 2 :(得分:0)