我尝试了一切我可能找到的对齐这个EditText元素 - 但它不会。
我在这里缺少什么?如你所见,我试了android:layout_alignParentRight = "true"
和android:layout_gravity="right"
而没有任何运气。
PS。 linearLayout只是父亲中具有RelativeLayout的一个元素,但我想这没关系。
<LinearLayout android:id="@+id/block1"
android:layout_width="fill_parent"
android:paddingLeft = "4sp"
android:padding = "4sp"
android:layout_height="25sp"
android:layout_marginTop = "4sp"
android:layout_below="@+id/Settings_phoneNumbersLbl"
android:orientation="horizontal">
<TextView android:id="@+id/Settings_phoneNumbersT1"
android:textColor="#000000"
android:textSize="14sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Settings_phoneNumbersT1"
/>
<EditText android:id="@+id/myRightAlignedText"
android:layout_width="170sp"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_alignParentRight = "true"
android:layout_gravity="right"
/>
</LinearLayout>
答案 0 :(得分:5)
尝试使用RelativeLayout而不是LinearLayout。
<RelativeLayout android:id="@+id/block1"
android:layout_width="fill_parent"
android:paddingLeft = "4sp"
android:padding = "4sp"
android:layout_height="25sp"
android:layout_marginTop = "4sp"
android:layout_below="@+id/Settings_phoneNumbersLbl"
android:orientation="horizontal">
<TextView android:id="@+id/Settings_phoneNumbersT1"
android:textColor="#000000"
android:textSize="14sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Settings_phoneNumbersT1"
/>
<EditText android:id="@+id/myRightAlignedText"
android:layout_width="170sp"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_alignParentRight = "true"
android:layout_gravity="right"
/>
</RelativeLayout>
答案 1 :(得分:2)
尝试
android:gravity="right"
这与
不同android:layout_gravity="right"
前者会影响视图内容的定位,即文本。后者影响View在其父级内的位置。有关完整说明,请参阅Gravity and layout_gravity on Android。
修改强>
要将EditText
与其父级右侧对齐,请尝试将父级更改为RelativeLayout
而不是LinearLayout
,以便layout_alignParentRight
属性生效
答案 2 :(得分:2)
你应该使用
android:layout_gravity="right"
因为
android:gravity ="right"
表示您正在设置视图的子项(此处为EditText - 表示文本对齐)为右对齐。要对齐EditText本身,请使用第一个。
答案 3 :(得分:1)
根据LinearLayout属性,子元素始终对齐一个 接着是水平或垂直,
如果您想将子元素放在父元素的右侧,那么我认为您应该使用FrameLayout
。
或者只是使用RelativeLayout
并按照尊重的方式将两个孩子放在一起。
感谢。