android - Android RadioButton 不居中
问题描述
我有以下单选按钮:
它们是在此方法中以编程方式生成的:
private void initializeAbilityComponents() {
rgAbility = view.findViewById(R.id.rgAbility);
for (int i = 0; i < abilities.size(); i++) {
RadioButton radioButton = new RadioButton(context);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(4,4,4,4);
radioButton.setLayoutParams(layoutParams);
radioButton.setText(abilities.get(i).getName());
radioButton.setId(i);
radioButton.setGravity(Gravity.CENTER);
PokemonUtils.setRoundedBackgroundColorToView(radioButton,selectedPokemon.getColor());
rgAbility.addView(radioButton);
}
并添加到这个 xml RadioGroup:
<RadioGroup
android:id="@+id/rgAbility"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="6dp"
android:layout_marginEnd="6dp"
android:layout_marginBottom="4dp"
android:layoutAnimation="@anim/default_layout_right_to_left_animation"
android:orientation="vertical" />
但是,如您所见,它们并没有真正居中,当我居中时,我期望的输出是这样的:
我怎样才能解决这个问题 ?
解决方案
发生这种情况是因为点和文本都是视图的一部分。如果您希望文本“更居中”,则必须添加paddingEnd
. 当然,这种填充取决于点的大小。
推荐阅读
- extjs - Extjs 有状态网格。如何检查它是否是第一次创建?
- c# - c# Logmanager.Configure 异常方法未找到:'System.String System.AppDomainSetup.get_ConfigurationFile()
- oracle - 游标的更新在 Oracle 中给出错误
- python - 如何传递返回带有所需参数的json
- c# - 在带有 XML 文档的 Visual Studio 中:如何引用其他参数?
- python - 无法使用正则表达式获取多行文本
- django - 在 Django 中添加分配者和受让人
- android - Android TelephonyManager 订阅者 ID()
- c - 调试模式下的 C typedef 枚举“不可能”值
- ios - WKWebView在加载文档时如何运行JS控制window.scrollTo(x,y)