是否可以在微调器项custom_style.xml中指定多个重力值?

问题描述 投票:62回答:2

我有textview.xml,这是微调器的项目样式。

<TextView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:gravity="left|center_horizontal"
  android:textSize="18sp">
</TextView>

我知道可以指定两个(Gravity.LEFT | Gravity.CENTER_HORIZONTAL),但在xml中不起作用 - 文本仅移动到左侧。

android android-layout gravity
2个回答
164
投票

87element,

我相信你打算使用layout_gravity你只使用gravity ??

是的,您可以将这些layout_gravity属性中的两个与'|'组合在一起如文档中所述:http://developer.android.com/reference/android/R.attr.html#layout_gravity

但即使使用layout_gravity而不仅仅是gravity(正如adamp在他的评论中所述),您尝试组合的设置也没有意义。你告诉它基本上是沿着同一行对齐左边和中心。在这种情况下,leftcenter_horizontal都指水平位置。

你想在哪里调整TextView相对于父母?

您的父布局就像一个网格,您可以在其中选择一个位置:

|[ 1 ] [ 2 ] [ 3 ]|

|[ 4 ] [ 5 ] [ 6 ]|

|[ 7 ] [ 8 ] [ 9 ]|

  1. 左上角:android:layout_gravity="top|left"
  2. 顶级中心:android:layout_gravity="top|center_horizontal"
  3. 右上:android:layout_gravity="top|right"
  4. 中左:android:layout_gravity="center_vertical|left"
  5. 非常中心:android:layout_gravity="center"
  6. 中右:android:layout_gravity="center_vertical|right"
  7. 左下:android:layout_gravity="bottom|left"
  8. 底部中心:android:layout_gravity="bottom|center_horizontal"
  9. 右下:android:layout_gravity="bottom|right"

希望这可以帮助!


11
投票

以防万一其他人和我一样愚蠢。不要忘记删除空格。 android:gravity="center_horizontal|bottom"android:gravity="center_horizontal | bottom"无效。

© www.soinside.com 2019 - 2024. All rights reserved.