1. ホーム
  2. xml

[解決済み] Linearレイアウトでボタンを中央に配置する

2022-03-16 20:14:04

質問

リニアレイアウトを使って、かなり軽い初期画面を表示しています。 1つのボタンがあり、縦横ともに画面の中央に表示されるようになっています。 しかし、何をやってもボタンは中央上部に配置されます。 私は以下のXMLを含んでいます、誰か正しい方向に私を示すことができますか?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageButton android:id="@+id/btnFindMe" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:background="@drawable/findme"></ImageButton>

</LinearLayout>

解決方法は?

項目を画面の中央に配置する場合、"Center "メソッドを使用しないでください。 LinearLayout これらは複数の項目を一列に並べて表示するためのものだからです。

を使用します。 RelativeLayout の代わりに

だから置き換える。

android:layout_gravity="center_vertical|center_horizontal"

には、該当する RelativeLayout オプションを指定します。

android:layout_centerInParent="true"

つまり、レイアウトファイルは次のようなものになります。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/RelativeLayout01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <ImageButton android:id="@+id/btnFindMe" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@drawable/findme"></ImageButton>

</RelativeLayout>