라디오버튼은 선택 가능한 여러 개의 값 중 하나를 입력받을 때 사용한다.
<출처 : www.java2s.com>
라디오 버튼의 체크 상태를 변경할 때는 다음 메서드를 사용한다.
void check(int id)
// 선택할 라디오 버튼의 id를 check 메서드로 전달하면 그룹내 나머지 버튼은 모두 선택 해제된다.
// (-1)를 호출하면 모든 버튼의 선택이 해제외며, clearCheck 메서드와 같아진다.
void clearCheck()
// 모든 라디오 버튼의 체크 버튼을 해제함.
int getCheckedRadioButtonId()
// 특정 라디오 버튼을 선택한 채로 초기화
레이아웃을 먼저 생각해보면 라디오버튼 3개와 체크박스 1개, 토글버튼 1개로 이루어져 있다.
public class ExerciseExam extends AppCompatActivity {
TextView mSample;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_excercise_exam);
mSample = (TextView)findViewById(R.id.txtsample);
RadioGroup ColGroup = (RadioGroup)findViewById(R.id.colorgroup);
ColGroup.setOnCheckedChangeListener(mRadioCheck);
CheckBox chkWhite = (CheckBox)findViewById(R.id.chkwhiteback);
chkWhite.setOnCheckedChangeListener(mCheckChange);
ToggleButton tgLang = (ToggleButton)findViewById(R.id.tglanguage);
tgLang.setOnCheckedChangeListener(mCheckChange);
}
RadioGroup.OnCheckedChangeListener mRadioCheck =
new RadioGroup.OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup group, int checkedId){
if (group.getId() == R.id.colorgroup){
switch (checkedId){
case R.id.rared:
mSample.setTextColor(Color.RED);
break;
case R.id.ragreen:
mSample.setTextColor(Color.GREEN);
break;
case R.id.rablue:
mSample.setTextColor(Color.BLUE);
break;
}
}
}
};
CompoundButton.OnCheckedChangeListener mCheckChange =
new CompoundButton.OnCheckedChangeListener(){
public void onCheckedChanged (CompoundButton buttonView, boolean isChecked){
if (buttonView.getId()==R.id.chkwhiteback){
if(isChecked){
mSample.setBackgroundColor(Color.WHITE);
} else{
mSample.setBackgroundColor(Color.TRANSPARENT);
}
}
if (buttonView.getId() == R.id.tglanguage){
if(isChecked){
mSample.setText("샘플");
} else{
mSample.setText("Sample");
}
}
}
};
}
<xml>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/txtsample"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="32sp"
android:textColor="#ff0000"
android:text="Sample" />
<RadioGroup
android:id="@+id/colorgroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:checkedButton="@+id/rared"
>
<RadioButton
android:id="@id/rared"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Red"
/>
<RadioButton
android:id="@+id/ragreen"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Green"
/>
<RadioButton
android:id="@+id/rablue"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Blue"
/>
</RadioGroup>
<CheckBox
android:id="@+id/chkwhiteback"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="흰색 배경"
/>
<ToggleButton
android:id="@+id/tglanguage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="한글"
android:textOff="영문"
/>
</LinearLayout>
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드] 이미지 버튼(Image Button) (0) | 2016.07.31 |
---|---|
[안드로이드] 이미지뷰 확대모드 (0) | 2016.07.30 |
[안드로이드 스튜디오] 소스코드 줄 번호 보이기 (0) | 2016.07.28 |
[안드로이드] 텍스트 뷰(TextView) (0) | 2016.07.28 |
[안드로이드] 리소스(Resource) (1) | 2016.07.28 |