gpt4 book ai didi

java - 对齐 BaseLine 但避免 Android 布局中的循环依赖

转载 作者:行者123 更新时间:2023-12-01 09:42:18 25 4
gpt4 key购买 nike

我尝试将复选框与 EditText 右侧对齐。问题是,如果我按照自己的方式这样做,就会产生循环依赖。

我想在 EditTexts 的基线处对齐 Powerbox 和 Landline 复选框。

screenshot

目前我使用此代码

        <CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt_elec_box"
android:id="@+id/electricityBox"
android:layout_below="@id/streetText"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:paddingTop="5dp" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/streetNumText"
android:layout_below="@id/streetText"
android:layout_alignStart="@id/electricityBox"
android:layout_alignLeft="@id/electricityBox"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:hint="@string/txt_street_check"
android:layout_toLeftOf="@id/electricityBox" />

....

<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txt_landline"
android:id="@+id/landlineBox"
android:layout_below="@id/familyNameText"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:paddingTop="5dp" />

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/phoneNumberText"
android:layout_below="@id/familyNameText"
android:layout_alignStart="@id/landlineBox"
android:layout_alignLeft="@id/landlineBox"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@id/landlineBox" />

如你所见,我使用了

android:paddingTop="5dp" 

在复选框中使它们位于底部一点,但我想要做的是这个

android:layout_alignBaseline="@id/phoneNumberText"

但是随后出现了循环依赖。

如果可以以非硬编码宽度的方式实现,我还希望复选框也水平对齐(屏幕截图中的完美对齐是偶然使用我的应用程序的英文版本)。

最佳答案

首先,将您的父布局设为 LinearLayout,然后对于布局中的每个行项目,将其设为relativelayout。像这样的事情:

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/streetText">

<EditText
android:id="@+id/streetNumText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/electricityBox"
android:hint="@string/txt_street_check" />

<CheckBox
android:id="@+id/electricityBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="@string/txt_elec_box" />

</RelativeLayout>

关于java - 对齐 BaseLine 但避免 Android 布局中的循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38359790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com