2014-04-23 46 views
0

我試圖在Android的自定義按鈕,其中包含多個組件,說得直截了當包含哪些按鈕佈局的形式,那就是:使用佈局按鈕

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/button" 
    android:clickable="true" 
    android:focusable="true"> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/imageView4" 
      android:background="@drawable/button1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Button2" 
      android:id="@+id/textView2" /> 

    </LinearLayout> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

     <ImageView 
      android:layout_width="15dp" 
      android:layout_height="15dp" 
      android:id="@+id/imageView5" 
      android:background="@drawable/button4"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="sub-description" 
      android:id="@+id/textView3" /> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:background="@drawable/button5" /> 
    </LinearLayout> 

</LinearLayout> 

問題:如何將這個按鈕作爲一個按鈕使用各種按鈕按下並重點定製? (到現在我的一切工作圍繞僅與此UI文件XML)

+0

更好的選擇是將圖像包含在文本視圖中。一種稱爲組合可繪製的技術。 –

回答

1

你在XML或代碼2個選項。

XML:

<LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:clickable="true" 
     > 

     <ImageView 
      android:layout_width="15dp" 
      android:layout_height="15dp" 
      android:id="@+id/imageView5" 
      android:background="@drawable/button4"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="sub-description" 
      android:id="@+id/textView3" /> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:background="@drawable/button5" /> 
    </LinearLayout> 

在代碼的.java使用:

LinearLayout.setClickable(true); 

記住在這兩種情況下使用的onClick像一個簡單的按鈕。

0

你必須給的LinearLayout設置爲可點擊。您可以用

android:clickable="true" 
代碼

或用

yourLinearLayout.setClickable(true); 


yourLinearLayout.setOnClickListener(
      new View.OnClickListener() {  
       @Override 
       public void onClick(View v) { 
        // DO STUFF! 
       } 
      } 
     ); 

乾杯做到這一點的XML!