2017-03-07 52 views
0

내가 그릴 수사용자 정의 체크 박스 이미지 크기 안드로이드 스튜디오

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/musican1" 
      android:state_checked="false"/> 
     <item android:drawable="@drawable/musica" 
      android:state_checked="true"/> 
     <item android:drawable="@drawable/musican1"/> 
    </selector> 

의 체크 박스를 만들었습니다 그리고 난 내 레이아웃

<CheckBox 
      android:layout_width="200dp" 
      android:layout_height="200dp" 
      android:checked="true" 
      android:button="@drawable/checkmusic" 
      android:scaleType="fitCenter" 
      /> 

체크 박스의 크기가 이미지보다 작을 때 문제가 발생에 추가 크기. 이미지의 일부분 만 볼 수 있는데, 제대로 크기가 조정되지 않았기 때문입니다. ImageView에서 사용되는 scaleType을 사용해 보았지만 작동하지 않습니다. 누군가 내가 어떻게 크기를 조절할 수 있는지 알고 있으므로 고정 된 크기로 모든 이미지를 볼 수 있습니까?

답변

0

나는 이것을 CheckBox으로 쉽게 얻을 수 있다고 생각하지 않습니다. android:scaleType을 지원하는 ImageView으로 전환하는 것이 좋습니다.

선택자를 selected이 아닌 checked이 아닌 것으로 변경하십시오.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/musica" android:state_selected="true"/> 
    <item android:drawable="@drawable/musican1"/> 
</selector> 
android:scaleType=centerInsideImageView를 사용하도록 레이아웃을 변경

: 코드에서

<ImageView 
    android:id="@+id/myImageView" 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    android:selected="true" 
    android:src="@drawable/checkmusic" 
    android:scaleType="centerInside" /> 

는 그냥보기의 선택 상태를 전환 할 ImageView에 클릭 리스너를 설정합니다.

ImageView myImageView = (ImageView)findViewById(R.id.myImageView); 
    myImageView.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      v.setSelected(!v.isSelected()); 
     } 
    }); 
+0

선택을 사용하여 작동하지 않았지만 ImageView 사용에 대한 아이디어를 제공해 주셨습니다. – iTheNoob