Android 复选框文本与按钮色调对齐
我面临一个问题,可能是设备问题 单线布局 我在做什么:创建带有三个视图的登录表单,即编辑文本、按钮(最初可见性消失)、复选框 我面对的是什么:只要我选中复选框,按钮就会显示,复选框就会在下方移动,因为我提供了页边空白顶部,我的视图如下所示: 编辑文本 按钮(可见性消失) 复选框(带页边空白顶部) 一旦我选中复选框,我就会使按钮可见,但我面临两个问题 第1期: 复选框选中此复选框时,文本会稍微向上移动,但按钮“淡色”不会移动,它会保持不变 第二期: 由于我已给出页边距顶部,并且在我选中整个复选框时,按钮当前不可见,因此视图现在从按钮中获取页边距,之前它从编辑文本中获取页边距,并且仍然第1期再次被观察到 我的xml代码如下:Android 复选框文本与按钮色调对齐,android,Android,我面临一个问题,可能是设备问题 单线布局 我在做什么:创建带有三个视图的登录表单,即编辑文本、按钮(最初可见性消失)、复选框 我面对的是什么:只要我选中复选框,按钮就会显示,复选框就会在下方移动,因为我提供了页边空白顶部,我的视图如下所示: 编辑文本 按钮(可见性消失) 复选框(带页边空白顶部) 一旦我选中复选框,我就会使按钮可见,但我面临两个问题 第1期: 复选框选中此复选框时,文本会稍微向上移动,但按钮“淡色”不会移动,它会保持不变 第二期: 由于我已给出页边距顶部,并且在我选中整个复选框时
<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>
当按钮处于可见性时。消失
意味着它不会占用屏幕空间,
当你让他可见。可见时,它现在会占据一个位置,如果设置不正确,其他视图会对此作出反应,
最好的解决方案是使用Visibility.INVISIBLE
,这将使其不可见,但会在屏幕中占据一席之地,
这样,当它变为可见时,任何东西都不会移动,
然后你可以很容易地重新排列屏幕
你可以查看这个以了解更多信息
选中复选框后立即尝试使布局无效() 很好,但问题1仍未解决,请帮助。为什么当我选中复选框的按钮时,文本会向上移动?你能在检查之前和之后放两个屏幕截图吗?虽然我必须在emulator上测试它,但这是上传延迟的原因。抱歉,因为我的emulator非常慢。工作正常。谢谢你的部分回答。你知道之前我试着在父项底部按钮设置这个元素,我愚蠢地在复选框中设置了这个元素;这就是为什么它像鸟一样飞翔:至少要礼貌地喜欢这个问题如果你试图回答一个问题,尽管invalidate()与布局无关,它会迫使你重新绘制。