1

私は馬鹿かもしれませんがButton、水平LinearLayoutブレークに a を追加するようですlayout_gravity="top"

<?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:orientation="horizontal">

    <TextView
        android:id="@+id/text"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="top"
        android:text="TextView"
        android:background="#f00" />

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="200dp"
        android:layout_weight="0"
        android:text="Button" />

</LinearLayout>

これは次のようになります (レイアウト エディターで)。

スクリーンショット

テキスト ビューは上部ではなく中央にあることに注意してください。*すべてを削除するだけの場合<button>、次のようになります。

作業中のスクリーンショット

ほら、今はあるべきように一番上にあります。私が使用する回避策はlayout_gravity="start"、正しい動作になるようにすることです。

ここに画像の説明を入力

とにかく、何が起こっているのですか?この関連する質問も参照してください。それは実際には同じ問題かもしれません。わからない。とにかく本当の答えはありません。

4

1 に答える 1

4

ああ、私は答えを見つけました!設定する必要がありますandroid:baselineAligned="false"。これまでに聞いたことのないもので、デフォルトでオンになっているのはちょっと面倒です!

<?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:baselineAligned="false"
    android:orientation="horizontal">

...
于 2012-11-13T18:58:09.510 に答える