-3

这个布局:

<?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"
android:background="#ffffff"
android:orientation="vertical" >

<TextView
    android:id="@+id/main_tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:keepScreenOn="true"
    android:text="@string/hello"
    android:textAppearance="@android:style/TextAppearance.Large"
    android:textColor="#0000ff" />

<ProgressBar
    android:id="@+id/main_progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical" />

</LinearLayout>

textView 水平居中,但 ProgressBar 为什么不垂直居中?

附言。我知道我可以使用相对布局来做到这一点。但我不明白为什么它不能使用线性?ps2。为什么投反对票,这是一个完全合法的问题?

4

3 回答 3

0

首先,我意识到这是一个非常古老的问题,但也许有人研究这个可能会发现这很有帮助。

我不完全确定为什么您的确切示例不起作用,如果您现在这样做,请务必让我知道。如果您为进度条添加额外的 LinearLayout,我确实知道它会起作用。像这样:

<?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"
    android:background="#ffffff"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/main_tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:keepScreenOn="true"
        android:text="@string/hello"
        android:textAppearance="@android:style/TextAppearance.Large"
        android:textColor="#0000ff" />
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <ProgressBar
            android:id="@+id/main_progressBar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical" />
    </LinearLayout>

</LinearLayout>
于 2014-12-23T19:06:56.687 回答
0
<ProgressBar
    android:id="@+id/main_progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical" />

试试上面那个

于 2012-05-03T07:41:03.677 回答
0
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:orientation="vertical" >

<TextView
    android:id="@+id/main_tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center_horizontal"
    android:keepScreenOn="true"
    android:text="@string/hello"
    android:textAppearance="@android:style/TextAppearance.Large"
    android:textColor="#0000ff" />

<ProgressBar
    android:id="@+id/main_progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true" />

</RelativeLayout>
于 2012-05-03T07:42:27.493 回答