[解決済み] AndroidでListViewの高さを制限する
質問
の下にボタンを表示させたい。
ListView
. 問題は、もし
ListView
が拡張された場合(アイテムが追加された...)、ボタンが画面の外に押し出されてしまうことです。
を試してみましたが
LinearLayout
で提案されているように)重みをつけて
Android: なぜViewにmaxHeightがないのですか?
を使用しましたが、重みを間違えたか、単に動作しなかったかのどちらかです。
また、どこかで見つけたヒントで
RelativeLayout
. その
ListView
がボタンの上に設定され
android:layout_above
パラメータで指定します。
これの問題点は、その後のボタンの位置がわからないことです。私が見つけた例では、下のViewが
ListView
を使って調整されていました。
android:layout_alignParentBottom
で調整しましたが、ボタンが画面の下にくっつくのは困ります。
setHeight-methodの使用と必要なスペースの計算以外に何かアイデアはありますか?
編集してください。 有用な回答がたくさんありました。
-
bigstone の解決策と user639183 の解決策 ほとんど は完璧に機能しました。ただし、まだ画面の半分まで押し出されてしまうので、ボタンの下部に余分なパディング/マージンを追加する必要がありました (ただし、その後停止しました)。
-
Adinia の相対レイアウトのみの回答は、ボタンを画面の下部に固定したい場合は問題ありません。これは私が意図したものではありませんが、それでも他の人にとっては便利かもしれません。
-
AngeloS のソリューションは、ちょうど私が望んでいた効果を生み出すものだったので、最終的に私が選んだものでした。しかし、私は2つの小さな変更を
LinearLayout
に2つの小さな変更を加えました。-
まず、レイアウトに絶対的な値を入れたくなかったので、ボタン周辺の
android:layout_height="45px"
をwrap_content
に変更すると、同様にうまく動作します。 -
次に、ボタンを水平方向に中央配置にしたかったので、これは垂直方向にしか対応していない
LinearLayout
でしかサポートされていないため、android:orientation="horizontal" を "vertical" に変更しました。
AngeloS は、最初の投稿で次のようにも述べています。
android:layout_weight="0.1"
パラメータがLinearLayout
の周りにListView
は何か効果があるのでしょうか。今試してみたところ、実際に効果がありました! そうしないと、ボタンは再び画面の外に押し出されます。 -
どのように解決するのですか?
私はこの問題に直面し、それを解決するために、2つの独立した
LinearLayouts
を作成し、その中に
ListView
と
Button
をそれぞれ作成しました。 そこから私は両方を別の
Linear Layout
の中に入れて、そのコンテナの
android:orientation
を
vertical
. の重さも設定しました。
LinearLayout
を収容している
ListView
から
0.1
に変更しましたが、それが効果的かどうかはわかりません。そこから、一番下のコンテナ(ボタンがある)の高さを好きな高さに設定することができます。
編集 ということです。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:orientation="horizontal">
<ListView
android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:dividerHeight="2px"></ListView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="45px"
android:background="@drawable/drawable"
android:orientation="horizontal">
<Button
android:id="@+id/moreButton"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:background="@drawable/btn_more2"
android:paddingRight="20px" />
</LinearLayout>
上記の解決策で、画面下部のボタンが固定されます。
ボタンがリストの一番下に浮くようにするには、高さを変更し
ListView01
を
wrap_content
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:orientation="horizontal">
<ListView
android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="2px"></ListView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="45px"
android:background="@drawable/drawable"
android:orientation="horizontal">
<Button
android:id="@+id/moreButton"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:background="@drawable/btn_more2"
android:paddingRight="20px" />
</LinearLayout>
関連
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] AndroidのListViewで画像を遅延ロードする方法
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み] Androidで画面の大きさをピクセル単位で取得する方法
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] PendingIntentの "requestCode "は何に使うのですか?
-
[解決済み] Travis.yml ./gradlew : パーミッションが拒否されました。
最新
-
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でScrollView内のListViewがスクロールしない件
-
[解決済み] android: imageview の画像を画面に合わせて伸縮させる
-
[解決済み] AndroidでラジオボタンにOnClickListenerを設定するには?
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] Androidのadb logcatでTAG名で特定のメッセージを除外する方法は?
-
[解決済み] アンドロイドのクライアントでヒープアップデートを有効にする方法
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] アダプタからActivityメソッドを呼び出す
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?