当前位置: 首页 > 知识库问答 >
问题:

复选框文本对齐与按钮色调

诸龙野
2023-03-14

我面临一个问题,可能是设备问题。

单线性布局

我在做什么:创建具有三个视图的登录表单,即编辑文本、按钮(最初可见性消失)、复选框。

我面临的问题:只要我选中复选框,按钮就会显示出来,复选框就会在下面移动,因为我提供了页边空白顶部,我的视图是这样的:

编辑文本按钮(可见性消失)复选框(带页边空白)

一旦我检查了复选框,我就会让按钮可见,但我面临两个问题。

问题1:复选框选中时,文本会稍微向上移动,但按钮色调不会移动,它会保持不变

问题2:由于我已经给出了页边距顶部,并且当我选中整个复选框时,按钮当前不可见,因此视图现在从按钮中获取页边距,之前它从编辑文本中获取页边距,并且仍然再次观察到问题1

我的xml代码如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="0dip"
    tools:context=".LoginActivity">

    <com.medmainfomatix.VoIPvoiceapp.MyViewPager
        android:id="@+id/viewPagerVertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="150dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/layout_sms"
        android:gravity="center_horizontal"
        android:orientation="vertical">



        <android.support.design.widget.TextInputLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="50dp"
            android:layout_gravity="center"
            >

            <EditText
                android:id="@+id/loginNo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:minWidth="200dp"
                android:layout_gravity="center_horizontal"
                android:textSize="25sp"
                android:maxLength="10"
                android:textColor="@color/white"
                android:hint="@string/msg_enter_mobile"
                android:digits="1234567890"
                android:textCursorDrawable="@null"
                android:inputType="phone">

                <requestFocus />

            </EditText>

        </android.support.design.widget.TextInputLayout>

        <Button
            android:id="@+id/btn_request_sms"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="NEXT"
            android:minHeight="50dp"
            android:minWidth="170dp"
            android:background="@color/btnclr"
            android:textColor="@color/pink"
            android:textSize="20sp"
            android:textStyle="bold"
            android:visibility="gone" />

      <CheckBox
            android:id="@+id/checkBox1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginTop="200dp"
            android:layout_gravity="center_horizontal"
            android:textColor="@color/white"
            android:buttonTint="@color/white"/>


    </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/layout_otp"
            android:gravity="center_horizontal"
            android:orientation="vertical">


            <TextView
                android:id="@+id/otptext1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:layout_marginBottom="15dp"
                android:paddingLeft="40dp"
                android:paddingRight="40dp"
                android:layout_gravity="center"
                android:text="@string/msg_manual_otp"
                android:textColor="@android:color/white"
                android:textSize="12dp"
                />

            <android.support.design.widget.TextInputLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="50dp"
                android:layout_gravity="center"
                >



            <EditText
                android:id="@+id/inputOtp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:singleLine="true"
                android:minWidth="120dp"
                android:layout_gravity="center"
                android:textSize="25sp"
                android:maxLength="6"
                android:textColor="@color/white"
                android:hint="@string/lbl_enter_otp"
                android:digits="1234567890"
                android:textCursorDrawable="@null"
                android:inputType="number">

                <requestFocus />

            </EditText>

            </android.support.design.widget.TextInputLayout>

            <Button
                android:id="@+id/loginButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="15dp"
                android:text="VERIFY"
                android:background="@color/btnclr"
                android:minHeight="50dp"
                android:minWidth="170dp"
                android:textColor="@color/pink"
                android:textSize="20sp"
                android:textStyle="bold"
                />

        </LinearLayout>
    </com.medmainfomatix.VoIPvoiceapp.MyViewPager>

</RelativeLayout>

请参阅仅用于布局短信,因为我使用了查看寻呼机,不要查看Otp部分。我正在考虑增加复选框的文本大小。

以下是两张截图,抱歉延迟。之前

之后

共有2个答案

南宫鸿晖
2023-03-14

选中复选框后立即尝试使布局无效。

仲孙诚
2023-03-14

当按钮处于<代码>可见性时。GONE这意味着当你让他可见时,它不会占用屏幕空间。可见它现在占据了一个位置,如果设置不正确,其他视图会对此做出反应,最好的解决方案是使用可见。不可见这将使其不可见,但会在屏幕中占据一席之地,这样当它变为可见时,任何东西都不会移动,然后您可以轻松地重新排列屏幕

你可以在这里查看更多Android:看不见和消失的区别?

 类似资料:
  • 我目前正在创建一个有趣的项目。由于某种原因,我的文本和复选框/单选框与文本不对齐。它们似乎偏离了一边,高于文本。 这是我的笔-https://codepen.io/amnesia180/pen/rwkqokp null null 有谁能给出建议吗? 谢谢!

  • 我目前正在克隆一个站点,在“输入电子邮件”输入中,文本不会对齐,并粘在输入的底部,我更希望它在中间的左边。我该怎么解决这个?感谢任何帮助<3 null null

  • 最近,我想在容器中添加一个按钮,同时添加图标和文本。但按钮不能在中间对齐。我甚至不确定图标是否在中间对齐。我试着调整上边的%和左边的%但不动。 null null

  • 我有一个简单的警报对话框与单选项目 我已经在我的主题中添加了自定义样式的警报对话框 这是我的风格 当我运行应用程序时,我会看到此警报 有没有办法在不创建自定义布局的情况下更改单选按钮附近文本的颜色?

  • 这里是react初学者,这里我有antd复选框,我想把这个复选框改成一个按钮,但仍然有复选框功能:这里是我的复选框: null null 这就是我试着做的,我试着给checkbox不透明度为零来隐藏它,然后把checkbox放在一个按钮里面,以改变它的外观为按钮,并且有checkbox的功能,但是问题是,这个新按钮是工作的,如果你点击按钮的左侧,但右侧不工作,有什么解决方案吗?: null nul