>

RadioButton의 Button을 가운데에 맞추려고합니다. 여기에 이미 답변 된 질문 중 어느 것도 내 문제를 해결하지 못했습니다.

내 조건 :

  • 라디오 그룹의 효과
  • 기본 라디오 버튼 아이콘
  • 텍스트를 RadioButton으로 설정하고 싶지 않습니다
  • ButtonIcon은 중앙에 위치해야합니다 (A1, A2, A3 위치 등).

다른 설정을 시도했지만 아무 효과가 없습니다.

   <RadioGroup
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <RadioButton
            android:layout_gravity="center"
            android:gravity="center"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"/>
        <RadioButton
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"/>
        <RadioButton
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"/>
    </RadioGroup>

수정: 자리 표시 자-라디오 버튼 사용은 옵션이 아닙니다. 이 경우 9 개의 RadioButton이 필요하지만 결국이 레이아웃은 프로그래밍 방식으로 만들어지며 RadioButton의 양이 더 커질 수 있습니다.


  • 답변 # 1

    이것을 시도해보십시오

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:text="A1" />
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:text="A2" />
            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:text="A3" />
        </LinearLayout>
        <RadioGroup
            android:id="@+id/myRadioGroup"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="@dimen/_10sdp"
            android:orientation="horizontal">
            <RadioButton
                android:id="@+id/radioButton"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:button="@null"
                android:drawableTop="@drawable/ic_radio_button_checked_black_24dp"
                android:tag="1" />
            <RadioButton
                android:id="@+id/radioButton2"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:button="@null"
                android:drawableTop="@drawable/ic_radio_button_unchecked_black_24dp" />
            <RadioButton
                android:id="@+id/radioButton3"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:button="@null"
                android:drawableTop="@drawable/ic_radio_button_unchecked_black_24dp" />
        </RadioGroup>
    
    </LinearLayout>
    
    
    와이즈 비즈

    Activity code

    와이즈 비즈
    public class MyActivity extends AppCompatActivity {
        RadioGroup myRadioGroup;
        RadioButton radioButton,radioButton2,radioButton3;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_my);
    
            myRadioGroup = findViewById(R.id.myRadioGroup);
            radioButton = findViewById(R.id.radioButton);
            radioButton2 = findViewById(R.id.radioButton2);
            radioButton3 = findViewById(R.id.radioButton3);
    
            myRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(RadioGroup group, int checkedId) {
                    if(checkedId==R.id.radioButton){
                        radioButton.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_checked_black_24dp,0,0);
                        radioButton3.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_unchecked_black_24dp,0,0);
                        radioButton2.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_unchecked_black_24dp,0,0);
                    }else if(checkedId==R.id.radioButton2){
                        radioButton2.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_checked_black_24dp,0,0);
                        radioButton3.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_unchecked_black_24dp,0,0);
                        radioButton.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_unchecked_black_24dp,0,0);
                    }else if(checkedId==R.id.radioButton3){
                        radioButton3.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_checked_black_24dp,0,0);
                        radioButton.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_unchecked_black_24dp,0,0);
                        radioButton2.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.ic_radio_button_unchecked_black_24dp,0,0);
                    }
                }
            });
        }
    
    }
    
    
    와이즈 비즈

    ic_radio_button_unchecked_black_24dp

    출력

  • 답변 # 2

    라디오 버튼을 <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FF000000" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/> </vector> 로 두십시오  그런 다음 빈 공간을 추가하여 모든 추가 공간을 채 웁니다. 이것은 그들 모두를 중심에 두어야합니다.

    ic_radio_button_checked_black_24dp

    <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FF000000" android:pathData="M12,7c-2.76,0 -5,2.24 -5,5s2.24,5 5,5 5,-2.24 5,-5 -2.24,-5 -5,-5zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/> </vector>

  • 이전 c# - smtp를 통해 메일을 보낼 때마다 변수를 증가시키는 방법
  • 다음 node.js - ngx-joyride의 /node_modules/ngx-joyride/assets/images/closesvg 오류