TextView
をLinearLayout
にセンタリングしようとしていますが、水平方向にセンタリングしていますが、垂直方向にはセンタリングしていません。
以下は私のコードです
<LinearLayout
Android:orientation="vertical"
Android:layout_width="320dp"
Android:layout_height="50dp"
Android:background="@drawable/rectblack"
Android:layout_marginTop="10dp"
Android:layout_gravity="center"
Android:minWidth="25px"
Android:minHeight="25px">
<TextView
Android:text="Explode a Vin"
Android:gravity="center"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:id="@+id/tvExVin" />
</LinearLayout>
最後に、Linearlayout
の左側の垂直方向の中央に配置したいと思います。誰かがそれを行う方法を理解できれば、それは素晴らしいことです。
ありがとう!
重力とlayout_gravityが逆になっています。 「|」で区切られた重力属性に複数の値を設定できます。これを試して:
<LinearLayout
Android:orientation="vertical"
Android:layout_width="320dp"
Android:layout_height="50dp"
Android:background="@drawable/rectblack"
Android:layout_marginTop="10dp"
Android:layout_gravity="center_horizontal"
Android:gravity="center_vertical|left"
Android:minWidth="25px"
Android:minHeight="25px">
<TextView
Android:text="Explode a Vin"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:id="@+id/tvExVin" />
</LinearLayout>
説明のため:
Android:layout_gravity="center_horizontal"
は、LinearLayoutを親の水平方向の中央に配置します。
Android:gravity="center_vertical|left"
は、TextView(およびその他の子)をLinearLayoutの垂直方向の中央に配置し、左に揃えます。
gravity
をに変更してみてください
Android:layout_gravity="center_vertical"
gravity
を使用してコンテンツをView
内に配置し、layout_gravity
を使用してView
を親内に配置します。
しかし、「結局、Linearlayoutの左側の垂直方向の中央に配置したい」と混乱しています。しかし、それが聞こえる方法から、私の答えはあなたが望むものを与える必要があります。
また、非常に正当な理由がない限り、1人の子にLinearLayout
または親を使用する必要はありません。あなたが望むもののより良い説明やスクリーンショットを提供できるなら、私たちはより良い解決策を手伝うことができるかもしれません。
これにより、希望する効果が得られます
<LinearLayout
Android:layout_width="320dp" <!-- removed orientation (horizontal by default) -->
Android:layout_height="50dp"
Android:background="@drawable/rectblack"
Android:layout_marginTop="10dp"
Android:layout_gravity="center"
Android:minWidth="25px"
Android:minHeight="25px">
<TextView
Android:text="Explode a Vin"
Android:layout_gravity="center_vertical" <!-- changed gravity here -->
Android:layout_width="fill_parent"
Android:layout_height="wrap_content" <!-- change to wrap_content -->
Android:id="@+id/tvExVin" />
</LinearLayout>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_gravity="center_horizontal|center_vertical"
Android:gravity="center_vertical|center_horizontal"
Android:orientation="vertical" >
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="AppLock Demo"
Android:textSize="30dp" />
</LinearLayout>