2016-09-29 59 views
2

是否可以打鉤togglebuttonMake a tick togglebutton android

佈局低於

enter image description here

<ImageView 
      android:id="@+id/donePic" 
      android:src="@mipmap/done" 
      android:tint="@color/red" 
      android:paddingLeft="320dp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

目前蜱buttonImageView。如何使ImageView變成toggleButton?可能嗎 ?

+1

'做一個tick togglebutton' ...爲什麼不是'CheckBox',而不是?即:https://www.tutorialspoint.com/android/android_checkbox_control.htm –

+1

@Rotwang感謝您的建議,將嘗試它。 – John

+1

那麼,它只是現成的,所以沒有必要重新發明輪子..;) –

回答

2

製作一個井字切換按鈕,選擇

<ToggleButton 
       android:id="@+id/toggle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/check" 
       android:focusable="false" 
       android:focusableInTouchMode="false" 
       android:textOff="" 
       android:textOn="" /> 

選擇

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- When selected, use tic --> 
    <item android:drawable="@drawable/tic_img" 
      android:state_checked="true" /> 
    <!-- When not selected, use un tic--> 
    <item android:drawable="@drawable/untic_img" 
     android:state_checked="false"/> 

</selector> 
+0

@John如果你滿意,請接受答案 –

+0

如果我想在未使用時使它變紅,並且刻度線變紅。 – John

+0

對不起,我不明白你可以請你詳細說明嗎? –

0

設置onClickListenr爲您的ImageView當用戶點擊圖片,來完成改變繪製或撤消。

您可以保留一個布爾值來查看用戶是否點擊了boolean ifClick = false

0

您可以使用兩個圖像,一個用於切換關閉,另一個用於切換並在imageView上設置onClickListner。

boolean isToggle=false; 

yourImageView.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       if(!isToggle) 
       { 
        //Do whatever you want to do 

        imageView.setImageResource(R.drawable.toggleOffImage);//set Toggle Off image 
        isToggle =true; 
       } 
       else 
       { 
        //Do whatever you want to do 
        imageView.setImageResource(R.drawable.toggleOnImage); //set Toggle Off image 
        isToggle =false; 
       } 
      } 
     });