View - Switch, RadioGroup(RadioButton)
웹 & 안드로이드/Android2013. 10. 7. 09:18
1.Switch
- Togglebutton과 기능은 같다.
- API level 14이후에 나왔으므로 이전 버전은 사용 불가.
- ToggleButton과 다른점은 UI가 개선되었다는 점?(기능의 차이점은 모른다.. 알아봐야지)
xml
1 2 3 4 5 | <Switch android:id="@+id/switch1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Switch" /> |
activity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public class MainActivity extends Activity { Switch sw; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sw = (Switch)findViewById(R.id.switch1); sw.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ Toast.makeText(getApplicationContext(), ""+isChecked, Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(getApplicationContext(), ""+isChecked, Toast.LENGTH_SHORT).show(); } } }); } } |
-toggle버튼과 같이 isChecked로 체크되어있는지 확인이 가능하다.
2. RadioGroup
-아무리 RadioButton을 만들어도 각자 개별의 이름을 가지기 때문에 이들을 묶어야 하는 것이 필요하다.
그것이 RadioGroup이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <RadioGroup android:id="@+id/radioGroup1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" > <RadioButton android:id="@+id/redRadio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:text="red" /> <RadioButton android:id="@+id/blueRadio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:text="blue" /> <RadioButton android:id="@+id/greanRadio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="false" android:text="grean" /> </RadioGroup> |
-RadioGroup 안에 RadioButton 3개가 묶여있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | public class MainActivity extends Activity { RadioGroup radioGroup; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); radioGroup = (RadioGroup) findViewById(R.id.radioGroup1); textView = (TextView) findViewById(R.id.textView1); radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch(checkedId){ case R.id.redRadio: textView.setBackgroundColor(Color.RED); break; case R.id.blueRadio: textView.setBackgroundColor(Color.BLUE); break; case R.id.greanRadio: textView.setBackgroundColor(Color.GREEN); break; } } }); } |
-액티비티로 호출할 때에는 RadioGroup를 호출한다.
checkedId에 체크되어있는 RadioButton의 ID가 들어 있으므로 if나 switch로 비교하면 된다.
'웹 & 안드로이드 > Android' 카테고리의 다른 글
안드로이드 - 사운드 재생하기. (0) | 2013.10.07 |
---|---|
View - ImageButton, ImageView (0) | 2013.10.07 |
View - TextView, Button,ToggleButton (0) | 2013.10.04 |
android.widget.TextView xml 속성 목록 (1) | 2013.10.02 |
android.view.View의 xml 속성 목록 (1) | 2013.10.02 |
댓글()