RadioButton(라디오버튼)&Checkbox(체크박스)
이 섹션 소개:
1. 기본 사용법 및 이벤트 처리:이 섹션에서는 Andoird의 기본 UI 컨트롤에 RadioButton 및 Checkbox를 제공합니다. 이 섹션에서 설명할 내용에 대해 먼저 설명하겠습니다.
사실 이 두 컨트롤은 단일 선택과 다중 선택, 이벤트 처리를 제외하고 많은 부분에서 유사합니다. ListView의 Checkbox 정렬 문제도 있습니다. 이 문제는 ListView 장에서 논의하겠습니다. 해결되었습니다. 알겠습니다. 이 섹션을 시작하겠습니다~ 이 섹션의 공식 문서 API: CheckBox;
2. 이벤트 처리
3. 텍스트 및 선택 상자의 상대적 위치를 변경합니다.
5. 텍스트와 선택 상자 사이의 거리 수정
1) RadioButton(라디오 버튼)
제목 라디오 버튼은 하나만 선택할 수 있으므로 필요합니다. RadioButton을 RadioGroup 버튼 그룹에 넣어 달성하려면 라디오 기능! 먼저 성별 선택의 간단한 예인 RadioButton 사용 방법을 숙지하세요. 또한 외부 RadioGroup에 대한 방향 속성을 설정한 다음 RadioButton의 수직 또는 수평 배열을 설정할 수 있습니다~
Rendering:
PS: 작성자의 휴대폰은 Android 5.0.1입니다. . 여기 RadioButton은 이전 버전의 RadioButton보다 약간 더 좋아 보입니다~
레이아웃 코드는 다음과 같습니다.The 첫 번째 는 RadioButton에 대한 이벤트 리스너 setOnCheckChangeListener를 설정하는 것입니다 RadioGroup radgroup = (RadioGroup) findViewById(R.id.radioGroup); // 먼저 라디오 버튼 값 방법을 가져옵니다. 사용 사용 - '' ''s 's's 's'out 'out's 'out's를 사용하여 사용하여 Out Out Over Over Over Over Over ' ''‐to‐‐‐‐‐‐는 라디오 버튼 값이 됩니다. void onCheckedChanged(RadioGroup group, intcheckedId) { RadioButton radbtn = (RadioButton ) findViewById(checkedId) 렌더링 실행: PS: 기억해야 할 또 다른 사항은 각 RadioButton에 ID를 추가하는 것입니다. 그렇지 않으면 라디오 선택 기능이 적용됩니다! ! ! 두 번째 방법은 다른 버튼을 클릭하여 선택한 라디오 버튼의 값을 가져오는 것입니다. 물론 필요에 따라 직접 가져올 수도 있습니다~ 예제 코드는 다음과 같습니다. 렌더링 실행: 코드 분석: 여기서 제출 버튼에 대한 setOnClickListener 이벤트 리스너를 설정합니다. 클릭할 때마다 RadioGroup을 순회하여 어떤 버튼이 선택되는지 확인할 수 있습니다. 다음 메소드는 RadioButton에 대한 정보를 얻습니다! ( )는 버튼 그룹의 라디오 버튼 수를 가져옵니다. (i): 인덱스 값을 기반으로 라디오 버튼을 가져옵니다. ( ): 버튼 선택 여부 확인 구현 코드: 5.0 이후의 RadioButton과 Checkbox는 이전 버전보다 약간 더 좋아 보이지만
여전히 마음에 들지 않거나 필요하지 않을 수 있으므로 효과를 직접 클릭해야 합니다! 먼저 사용자 정의를 작성하는 것은 매우 간단합니다.
셀렉터 리소스는 선택시와 비선택시 전환 이미지를 설정합니다~! 구현 렌더링은 다음과 같습니다. PS: 여기에 자료가 있는 이유는 약간 작습니다... 작성 후 설정하는 방법은 두 가지가 있고, 한 가지라고 할 수 있어요! 보시면 아시겠지만~ ①위의 선택기에 android:button 속성이 설정되어 있습니다 ②style에서 속성을 정의한 후, android 스타일 속성. 먼저 스타일에 다음 코드를 추가합니다: 그런 다음 거기에 레이아웃을 지정하세요: 이것도 구현하기가 매우 간단합니다. 이전에 TextView를 배울 때 사용한 drawableXxx를 기억하시나요?
선택 상자의 위치를 제어하려면 단 두 단계만 거치면 됩니다! 설정: 1단계. android:button="@null" 때로는 텍스트와 선택 상자 사이의 거리를 조정하여 약간 덜 혼잡해 보이도록 할 수 있습니다. 샘플 코드는 다음과 같습니다. 네, RadioButton과 Checkbox는 여기까지입니다. 잘못된 점이나 좋은 제안이 있으면 지적해 주세요.
정말 감사합니다~감사합니다...
xmlns:tools="http://schemas.android.com/tools"
android:id=" @+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
안드로이드:layout_width ="wrap_content"
android:layout_height="wrap_content"
android:text="请选择性别"
android:textSize="23dp"
/>
<RadioGroup
android:id="@+id/radioGroup "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@ +id/btnMan"
android:layout_width=" Wrap_content"
android:layout_height="wrap_content"
android:text="男"
android:checked="true"/>
<RadioButton🜜 android:id="@+id/btnWoman"
android:layout_width ="wrap_content"
android:layout_height="wrap_content"
android:text="女"/>
</RadioGroup>
<Button
android:id="@+id/btn 게시글"
Android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android: text = "Submit"/& lt;/linearlayout & gt;值 선택한 값 가져오기:
btnchange.setOnClick 리스너 (new OnClickListener() {
Overrideb Public Void Onclick (View v) {
for (int i = 0; I & LT; Radgroup.getChildCount (); I ++) {
라디오버튼 = (라디오버튼) .getChildat(i) ; ()) {
Toast.makeText(getApplicationContext(), "선택한 내용을 가져오려면 제출 버튼을 클릭하세요." + rd.getText(), Toast.LENGTH_LONG).show()
ㅋㅋ
2) CheckBox(체크 박스)
제목 체크 박스로 여러 옵션을 동시에 선택할 수 있으며, 선택한 값을 얻는 방법도 두 가지가 있습니다.
1. 각 CheckBox에 대해 이벤트를 추가합니다: setOnCheckedChangeListener
2. 버튼을 만들고 클릭한 후 각 체크박스를 판단합니다: isChecked() 렌더링 실행:
private CheckBox cb_one;
private CheckBox cb_two;
private CheckBox cb_ three;
private 버튼 btn_send;
@Override
protected void onCreate(Bundle savedInstanceState) { ㅋㅋㅋ dViewById(R.id.cb_two);
cb_ three = (CheckBox) findViewById(R.id.cb_ three);
btn_send = (버튼) findViewById(R.id.btn_send);
cb_one.setOnCheckedChangeListener(this);
cb _two.setOnCheckedChangeListener(this);
cb_ three.setOnCheckedChangeListener (this);
btn_send.setOnClickListener(this);
}
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(compoundButton.isChecked( )) Toast.makeText(this,compoundButton.getText( ).toString(),Toast.LENGTH_SHORT).show();
}
@Override
public void onClick(View view) {
String 선택 = "";
if(cb_one.isChecked())선택 += c b_one .getText().toString() + "";
if(cb_two.isChecked())선택 += cb_two.getText().toString() + "";
if(cb_third.isChecked())선택 += cb_3 .getText().toString() + "";
Toast.makeText(this,choose,Toast.LENGTH_SHORT).show();
}
}2. 사용자 정의 클릭 효과
< 선택기 xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="true"
android:state_checked="true"
android:drawable=" @mipmap/ic_checkbox_checked"/>
<item
android:state_enabled="true"
android:state_checked="false"
android:drawable="@mipmap/ic_checkbox_normal" />
< /select or>
<item name="android:button" >@drawable/ rad_btn_selctor</item>
</style>3. 텍스트와 선택 상자의 상대적 위치를 변경합니다.
2단계. android:drawableTop="@android:drawable/btn_radio"
물론 drawableXxx를 원하는 효과로 바꿀 수 있습니다! 4. 텍스트와 선택 상자 사이의 거리를 수정합니다.
1. XML 코드 컨트롤:
거리를 제어하려면 android:paddingXxx = "xxx"를 사용하세요.
2. Java 코드에서는 paddingLeft를 동적으로 계산하는 것이 약간 더 좋습니다.
int rb_paddingLeft = getResources().getDrawable(R.mipmap.ic_checkbox_checked).getIntrinsicWidth()+5;
rb.setPadding(rb_paddingLeft, 0, 0, 0);이 섹션 요약: