UI要素の位置・大きさを画面サイズに対する割合で設定する
2023-12-14 09:53:11
質問
私は、レイアウトを作成するときに、パーセントの位置やサイズを使用することが可能かどうかを調べようとしています。私が欲しいのはこのようなものです...
^
|
|
| 68%
|
|
v
Gallery (height equivalent of 16% total screen size)
^
| 16%
v
私は横向きで800x480の実ピクセルのディスプレイを持つデバイスでテストしており、現在以下のように強制しています...
<?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" >
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="80px"
android:layout_marginTop ="320px"
/>
</RelativeLayout>
明らかに、私はハードコードされた固定された
px
の単位をハードコードしたくないのは当然ですが、私は
68%
または
0.68
に対して
layout_marginTop
(など)。を見てみると
dp
のユニットも見てみましたが、そのやり方もどうかと思います。
UIデザインは正直言って苦手なので、何かアドバイスがあればありがたいです。
EDITです。 もし誰かが同じような答えを探しているなら、将来の参考のために、アラン・ムーアの提案に従って、私は次のように正確に私が望むように動作しています...。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="@drawable/bground"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.68"
android:background="@android:color/transparent"
/>
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.16"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.16"
android:background="@android:color/transparent"
/>
</LinearLayout>
を使用する他の例を見つけることができました。
layout_weight
を使用する他の例を見つけることができ、その例では
TextView
の高さを
0dp
に変更し、さらにウェイトにfloatを使用しました。素晴らしい働きです :)
どのように解決するのですか?
android:layout_weightを設定することだと思います。
http://developer.android.com/resources/tutorials/views/hello-linearlayout.html
のようなものです(プレースホルダーとして上下にテキストビューを置いているだけです)。
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="68"/>
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="16"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="16"/>
</LinearLayout>
関連
-
[解決済み] RelativeLayoutにおける幅の割合(%)。
-
[解決済み] Androidで画面の大きさをピクセル単位で取得する方法
-
[解決済み] RecyclerView.Stateを使って、RecyclerViewのスクロール位置を保存するには?
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] アンドロイドのクライアントでヒープアップデートを有効にする方法
-
[解決済み] 複数のフィルタを持つBroadcastReceiverか、複数のBroadcastReceiverか?
-
[解決済み] 非ActivityクラスでContextを取得する [重複].
-
[解決済み] アダプタからActivityメソッドを呼び出す
-
[解決済み] Android: xml リソースからの整数値
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AndroidにおけるViewPager2の適切な実装
-
[解決済み] アンドロイドフラグメント onRestoreInstanceState
-
[解決済み] Androidの連絡先リストを呼び出すには?
-
[解決済み] プログラムでソフトキーボードを開く
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] ArrayList<MyCustomClass>をJSONArrayに変換する。
-
[解決済み] Android - Snackbar vs Toast - 使い方と違い。
-
[解決済み] Android APKファイルの中身を見るには?
-
[解決済み] Google Play ストア内部テストのロールアウトが開始できない