[解決済み] LinearLayoutの幅をパーセントで定義する?重複
2022-08-24 04:52:52
質問
ボタンを含むLinearLayoutの幅をパーセンテージ(70%)で定義し、中央揃えにして、子ボタンがfill_parentできるようにしたいのですが、どうすればよいでしょうか?これは、私が何を意味するかを示す画像です。
現在の私のレイアウトはこんな感じです。
<?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:id="@+id/layoutContainer" android:orientation="vertical">
<LinearLayout android:layout_width="fill_parent"
android:id="@+id/barContainer" android:orientation="horizontal"
android:layout_height="40dp" android:background="@drawable/titlebackground">
<ImageView android:id="@+id/barLogo" android:src="@drawable/titlelogo"
android:layout_gravity="center_vertical" android:adjustViewBounds="true"
android:layout_height="25dp" android:layout_width="wrap_content"
android:scaleType="fitXY" android:paddingLeft="5dp"></ImageView>
</LinearLayout>
<TextView android:layout_height="wrap_content"
android:layout_width="fill_parent" android:gravity="center_horizontal"
android:id="@+id/searchTip" android:text="@string/searchTip"
android:paddingTop="10dp" android:paddingBottom="10dp"></TextView>
<LinearLayout android:layout_height="wrap_content"
android:id="@+id/linearLayout1" android:orientation="vertical" android:layout_width="wrap_content">
<Button android:text="Button" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
<Button android:layout_width="wrap_content" android:id="@+id/button2" android:layout_height="wrap_content" android:text="Button"></Button>
<Button android:layout_width="wrap_content" android:id="@+id/button3" android:layout_height="wrap_content" android:text="Button"></Button>
</LinearLayout>
</LinearLayout>
私が参照しているLinearLayoutは、id: linearLayout1を持っています。どうすればいいのでしょうか?
どのように解決するのですか?
要素にweightプロパティを設定する必要があります。LinearLayoutの子として3つのRelativeLayoutを作成し、weightを0.15、0.70、0.15に設定します。そして、2番目のRelativeLayout(weight 0.70のもの)にボタンを追加します。
このように
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:id="@+id/layoutContainer" android:orientation="horizontal">
<RelativeLayout
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="0.15">
</RelativeLayout>
<RelativeLayout
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="0.7">
<!-- This is the part that's 70% of the total width. I'm inserting a LinearLayout and buttons.-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<Button
android:text="Button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
<Button
android:text="Button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
<Button
android:text="Button3"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
<!-- 70% Width End-->
</RelativeLayout>
<RelativeLayout
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="0.15">
</RelativeLayout>
</LinearLayout>
重さはなぜ0.15、0.7、0.15なのでしょうか?重みの合計が1で、0.7は全体の70%だからです。
結果です。
Edit: 向きが垂直ではなく水平であるべきだと指摘してくれた @SimonVeloper と、重みが整数ではなく小数であるべきだと指摘してくれた @Andrew に感謝します。
関連
-
[解決済み] RelativeLayoutにおける幅の割合(%)。
-
[解決済み] ImageViewの幅と高さをプログラムで設定する?
-
[解決済み] 既存のカスタムテーマでXMLのアクティビティのタイトルバーを非表示にする方法
-
[解決済み] カスタム属性(attrs)の定義
-
[解決済み] LinearLayoutがScrollView内で展開されない
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】Android LinearLayout Gradient Background
-
[解決済み] 設定ページに移動せずに位置情報サービスをオンにする
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] Android APKファイルの中身を見るには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] ArrayList<MyCustomClass>をJSONArrayに変換する。
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] APKが署名済みかデバッグビルドかを確認するには?
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
-
[解決済み] ViewPager2でスワイプを無効にするには?
-
[解決済み] ブルートゥースアプリケーションのテストにアンドロイドエミュレータを使用するには?