我试图让我的 textview 拥抱屏幕的左侧,而按钮拥抱右侧(如果可能的话,只是为了 ocd,让文本 View 中心垂直与按钮对齐)但不要这样做使用绝对值。这是我的编码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="100px"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:text="Change City:"
/>
<Button
android:layout_width="100px"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="Click"
android:id="@+id/citychoicebutton"
/>
</LinearLayout>
我认为 layout_gravity 处理了我想要做的事情,但显然没有。
最佳答案
Gravity 指定如何将元素放置在元素本身内,而不是在父级(屏幕)的边界内。
这意味着如果您的文本仅占用 50 像素的宽度,但您已为 TextView 分配了 100 像素,则实际字符将放置在 100 像素空间的左侧、中央或右侧(根据重力值)。
使用 LinearLayout,您必须假设屏幕宽度才能达到您想要的效果并使用“dip”作为一个单位,并希望获得最佳效果(在模拟器上的不同屏幕尺寸上进行测试)。
更好的选择是相对布局,并使用 android:layout_alignParentLeft 和 android:layout_alignParentRight。
顺便说一句,建议一般使用“dip”(密度独立像素)而不是“px”作为布局单位。
密度独立像素单位现在是“dp”。 “浸”仍然有效。
关于android - 左侧的 Textview 右侧的按钮非绝对值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3446298/