【问题标题】:Android: How to set CheckBox text gravity to center of entire control?Android:如何将 CheckBox 文本重力设置为整个控件的中心?
【发布时间】:2017-01-11 04:37:33
【问题描述】:

我会用一张图来解释:

好的。当我将重力设置为“中心”时,这就是 CheckBox 的工作方式。但是,我想把它放在整个物体的中心,以红色区域为参考。

我该怎么做? 也许使用android:paddingLeft=-30dp,但我认为有更好的方法。

抱歉英语不好,希望你能理解。

【问题讨论】:

    标签: android xml styles


    【解决方案1】:

    我不认为复选框有这样的属性,这是实现这种要求的替代解决方案:

    <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content">
                    <CheckBox
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentLeft="true"
                        android:layout_centerVertical="true"
                        android:text=""
    
                    />
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerInParent="true"
                        android:text="MyCheckBox"/>
    
                </RelativeLayout>
    

    【讨论】:

      【解决方案2】:

      试试这个

      如果你固定宽度

      <CheckBox
          android:layout_width="200dp"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_centerVertical="true"
          android:text="My Check Box"
          android:gravity="center"
      
          />
      

      使用 Wrap Parent 和 padding...

        <CheckBox
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_centerVertical="true"
          android:text="My Check Box"
          android:paddingLeft="20dp"
          android:gravity="center"
      
          />
      

      通过相对布局和TextView

      <RelativeLayout
          android:id="@+id/rlv1"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:padding="10dp"
          android:background="@android:color/holo_red_dark"
        >
      
      <CheckBox
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_centerVertical="true"
          android:text="@null"
          android:id="@+id/checkbox"
      
          android:gravity="center"></CheckBox>
      
      
      <TextView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_toRightOf="@+id/checkbox"
          android:layout_marginLeft="20dp"
          android:layout_centerVertical="true"
          android:text="My Check Box"/>
      </RelativeLayout>
      

      【讨论】:

      • 包装内容并集中组件。好主意。
      【解决方案3】:

      我也遇到了同样的问题,这个怎么样?

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
      
      <RelativeLayout
          android:id="@+id/relativelayout1"
          android:layout_width="match_parent"
          android:layout_height="50dp"
          android:paddingTop="@dimen/abc_action_bar_icon_vertical_padding_material">
      
          <CheckBox
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="CheckBox"
              android:id="@+id/checkbox1"
              android:gravity="center"
              android:layout_centerHorizontal="true"
              android:checked="false"></CheckBox>
      
      </RelativeLayout>
      </LinearLayout>
      

      【讨论】:

        【解决方案4】:

        你可以使用 textAligment 属性

        checkbox.textAlignment = View.TEXT_ALIGNMENT_CENTER
        

        【讨论】:

        • 这很可能不起作用 - 至少它不适用于继承自 CheckBox 的 Chips
        猜你喜欢
        • 2023-04-08
        • 1970-01-01
        • 2011-12-21
        • 1970-01-01
        • 2015-12-05
        • 1970-01-01
        • 2016-12-08
        • 1970-01-01
        • 2018-10-06
        相关资源
        最近更新 更多