增加 RadioButton 的可点击区域的大小
Increasing size of clickable area of RadioButton
我有一个 RadioGroup
,在 Android (Android 5.1) 中有 2 个 RadioButton
,如下所示。有两个问题。首先,可点击区域(在底部图像中以蓝色表示)没有以按钮(圆圈)为中心。其次,我想增加可点击区域,但保持圆圈(按钮)大小相同。
如何增加按钮周围的可点击区域并将其居中?
<RadioGroup
android:id="@+id/group"
android:layout_width="140dp"
android:layout_height="50dp"
android:layout_marginLeft="212dp"
android:layout_marginTop="8dp"
android:orientation="horizontal"
android:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/image"
tools:ignore="RtlHardcoded">
<RadioButton
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:scaleX="2"
android:scaleY="2" />
<RadioButton
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:scaleX="2"
android:scaleY="2" />
</RadioGroup>
编辑:我现在更新了我的布局并合并了填充。可点击区域没有变大,但不幸的是该区域位于按钮之外。我想让可点击区域以按钮为中心。如何做到这一点?
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="212dp"
android:layout_marginTop="8dp"
android:orientation="horizontal"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/image"
tools:ignore="RtlHardcoded">
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:padding="30dp"
android:scaleX="2"
android:scaleY="2" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="55dp"
android:padding="30dp"
android:scaleX="2"
android:scaleY="2" />
</RadioGroup>
可能在线性布局中添加单选按钮,将其居中,然后将 onclicklistener 放在线性布局上,然后当您单击时切换单选按钮的视觉效果。
要增加可点击区域的大小,您可以将 padding 设置为 RadioButton。
增加可点击大小的最简单方法是使用填充
<RadioButton
android:id="@+id/someId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="40dp"
/>
这是图片
final View parent = (View) view.getParent();
parent.post( new Runnable() {
public void run() {
final Rect rect = new Rect();
button.getHitRect(rect);
rect.top -= 100;
rect.left -= 100;
rect.bottom += 100;
rect.right += 100;
parent.setTouchDelegate( new TouchDelegate( rect , button));
}
});
增加视图删除
我有一个 RadioGroup
,在 Android (Android 5.1) 中有 2 个 RadioButton
,如下所示。有两个问题。首先,可点击区域(在底部图像中以蓝色表示)没有以按钮(圆圈)为中心。其次,我想增加可点击区域,但保持圆圈(按钮)大小相同。
如何增加按钮周围的可点击区域并将其居中?
<RadioGroup
android:id="@+id/group"
android:layout_width="140dp"
android:layout_height="50dp"
android:layout_marginLeft="212dp"
android:layout_marginTop="8dp"
android:orientation="horizontal"
android:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/image"
tools:ignore="RtlHardcoded">
<RadioButton
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:scaleX="2"
android:scaleY="2" />
<RadioButton
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginTop="5dp"
android:layout_weight="1"
android:scaleX="2"
android:scaleY="2" />
</RadioGroup>
编辑:我现在更新了我的布局并合并了填充。可点击区域没有变大,但不幸的是该区域位于按钮之外。我想让可点击区域以按钮为中心。如何做到这一点?
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="212dp"
android:layout_marginTop="8dp"
android:orientation="horizontal"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/image"
tools:ignore="RtlHardcoded">
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:padding="30dp"
android:scaleX="2"
android:scaleY="2" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="55dp"
android:padding="30dp"
android:scaleX="2"
android:scaleY="2" />
</RadioGroup>
可能在线性布局中添加单选按钮,将其居中,然后将 onclicklistener 放在线性布局上,然后当您单击时切换单选按钮的视觉效果。
要增加可点击区域的大小,您可以将 padding 设置为 RadioButton。
增加可点击大小的最简单方法是使用填充
<RadioButton
android:id="@+id/someId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="40dp"
/>
这是图片
final View parent = (View) view.getParent();
parent.post( new Runnable() {
public void run() {
final Rect rect = new Rect();
button.getHitRect(rect);
rect.top -= 100;
rect.left -= 100;
rect.bottom += 100;
rect.right += 100;
parent.setTouchDelegate( new TouchDelegate( rect , button));
}
});
增加视图删除