2013-03-09 36 views
0

好日子,的Android創建自定義的UI對象,紅色/綠色連接按鈕

我想創建一個新的對象,我可以添加到我的Android應用程序查看,

要顯示

我只是想圓紅色或綠色取決於網絡是否連接。我想要一個類似於單選按鈕的顏色,只是顏色必須改變。

最好只使用圖片嗎?或者我應該創建一個新的視圖對象/組件?如果是這樣,我該怎麼做呢?

回答

0

一個簡單的選項: 您可以使用PNG圖像。您需要使用兩種顏色的圖像。如果你喜歡,你可以從你的PNG創建一個9Patch。 9Patch爲您提供可以拉伸以適合的圖像。

然後,在您的XML文件中使用可繪製的StateList。 Statelist繪製給你更改圖像取決於狀態的能力

這是button_statelist.xml在繪製文件夾

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
     android:drawable="@drawable/redbutton" /> 
    <item android:drawable="@drawable/bluebutton" /> 
</selector> 

你可以使用一些其他國家,而不是state_pressed

在佈局文件夾,您可以定義按鈕:

<Button   
     android:id="@+id/button1"   


     android:background="@drawable/button_statelist"  

     /> 
0

檢查了這一點:android - button style

Yout可以將樣式應用於您的按鈕/ imagebutton/imageview,您可以在其中定義背景的外觀和邊框半徑以獲得圓圈。將其作爲your_style.xml保存在可繪製文件夾中。代碼如下所示:

 <shape> 
      <solid 
       android:color="#f00" /> 
      <stroke 
       android:width="1dp" 
       android:color="#d00" /> 
      <corners 
       android:radius="40dp" /> 
      <padding 
       android:left="10dp" 
       android:top="10dp" 
       android:right="10dp" 
       android:bottom="10dp" /> 
     </shape> 

設置形狀和背景顏色爲android:background="@drawable/your_style"。如果你想要一個額外的圖像(爲了獲得單選按鈕的外觀),你只需要添加android:drawableLeft="@drawable/your_overlay_image