2010-09-10 82 views
5

我想在我的android應用中使用按鈕,但我想自定義它的外觀。但是,我希望按鈕的突出顯示和選定顏色與默認顏色(即深色和淺橙色漸變,或任何主題顏色提供的顏色)相同。Android:在自定義按鈕中使用默認高亮顏色

是否有無論如何獲得默認高亮/選定的drawables,並使用它作爲我選擇和突出顯示的狀態按鈕填充?

謝謝!

回答

3

你在問兩個不同的東西,你想要drawable還是顏色代碼?

無論如何,你可以在這裏找到繪項目名稱:http://androiddrawableexplorer.appspot.com/ 我不知道,如果你可以從你的應用程序中直接使用它們,或者如果你有保存到您的可繪製第一個文件夾,但你可以找到他們在你的sdk。如果你想要的顏色代碼,使用gimp從圖片中提取它們。

+0

我想我想要顏色代碼,然後我可以創建自己的drawable?基本上我想確保我的突出顯示/所選顏色在每個設備上始終保持一致。所以我不想用橙色進行硬編碼,因爲這可能會在未來發生變化,並且某些設備使用不同的顏色。相反,我想以編程方式獲取顏色代碼。 – 2010-09-10 16:51:46

+0

由於android使用drawables而不是colorcodes作爲按鈕,所以無法以任何編程合理的方式獲取顏色代碼。那麼我肯定有某種方式,但我不認爲這是值得的。 – softarn 2010-09-10 17:25:02

+0

ok .. gotcha ..所以我只需要知道如何訪問包含默認選擇/高亮顏色的繪圖。 – 2010-09-10 17:37:36

0

Selectors是你在找什麼。谷歌周圍的教程。這裏是one

我假設您可以在Android源代碼中找到默認選擇器。

+10

有什麼辦法以編程方式獲取默認選擇器顏色? – 2010-09-10 16:52:07

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背景顏色。

相關問題