我正在编写一个将始终在 Portrait 中使用的应用程序。我有一个“EditView”,我想在其中占据屏幕的整个宽度,但将文本在屏幕中居中(水平)。通常,在清单文件中,您只需插入 android:layout_gravity="center" 即可。但它根本不起作用(留在左边),我已经尝试了所有 match_parent/wrap_content 的宽度和高度组合。这是我的清单文件。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:weightSum="2" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" >
<EditText
android:id="@+id/text_video_title"
style="@style/StyleVideoTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ems="10"
android:inputType="none"
android:singleLine="true"
android:text="@string/video_title" >
</EditText>
<VideoView
android:id="@+id/videoView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:layout_gravity="center" >
</VideoView>
</LinearLayout>
<LinearLayout
android:baselineAligned="false"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_weight="1">
<GridView android:id="@+id/gridView"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:numColumns="3"
android:layout_gravity="center">
</GridView>
</LinearLayout>
请注意,如果我在 EditView 中将 android:layout_width 更改为“wrap_content”,我会得到一个几乎居中的文本,但实际上并非如此。此外,我检查了 @string/video_title 并且没有前导或尾随空格会弄乱对齐方式。
我使用的样式 style="@style/text_video_title" 是:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="StyleVideoTitle">
<item name="android:textColor">#FFFFFF</item>
<item name="android:background">#000000</item>
<item name="android:textSize">26sp</item>
</style>
</resources>
知道如何将字符串居中(从左到右)吗?我在模拟器和真实设备(姜饼)上有相同的行为