[解決済み] LinearLayoutがScrollView内で展開されない
質問
私は
LinearLayout
の中に
ScrollView
を持っていること
android:layout_height="fill_parent"
の高さいっぱいまで拡張されません。
ScrollView
. 私のレイアウトは次のようなものです。
level layout layout_width layout_height
1 LinearLayout fill_parent fill_parent
2 LinearLayout fill_parent wrap_content
3 (some irrelevant stuff)
2 ScrollView fill_parent fill_parent <-- this expands full height
3 LinearLayout fill_parent fill_parent <-- this does not (has orientation=vertical)
(following stuff probably are irrelevant, but just to be sure:)
4 TextView fill_parent fill_parent
4 LinearLayout fill_parent wrap_content
を見ることができます。
LinearLayout
の高さいっぱいに展開されるわけではありません。
ScrollView
なぜなら、Eclipseでは
Android Layout Editor
を選択すると
ScrollView
(アウトラインパネル)を選択すると、画面の下まで赤い枠でハイライトされます。
LinearLayout
のハイライトが画面の下まで拡大されません。どうすればいいのでしょうか?
私が達成しようとしている効果は、いくつかのテキストとその下のボタン (
LinearLayout
レベル4ではボタンだけです)。テキストはスクロールバーが必要なほど大きくすることができ、その場合、ユーザがボタンを見るためにスクロールダウンしなければならないようにしたい。テキストがスクロールバーに十分な大きさでない場合、私は
LinearLayout
を含むボタンが画面の下にくっつくようにしました。
最初は、質問の中に巨大なコードの塊があるのを見るのは、たいてい嫌がられるので、完全なXMLを掲載すべきではないと思いました。しかし、それは必要かもしれないと思われるので、ここに完全なレイアウトがあります。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/video_layout"
android:focusable="true"
style="@style/VideoLayout">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:foreground="@android:drawable/ic_media_play"
android:foregroundGravity="center">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/video_thumb"
android:padding="5dip"
android:background="#454545"/>
</FrameLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="true"
style="@style/VideoTitle"
android:id="@+id/video_title"
android:layout_gravity="center"
android:layout_weight="1"/>
</LinearLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1">
<!-- this ScrollView expands the full height of the screen.
However, the next LinearLayout does not expand the full height of the ScrollView -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:layout_gravity="fill"
android:orientation="vertical"
android:id="@+id/info_layout">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/info_body"
style="@style/InfoText"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
style="@android:style/ButtonBar">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:text="@string/button_readmore"
android:id="@+id/btn_read_more"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
今のところ、私は
android:layout_gravity="bottom"
を、問題のある
LinearLayout
これにより、ボタンは何があっても画面の下に固定されるようになります。しかし、これではテキストも画面の下にくっついてしまい、私が求めていたものとはちょっと違ってしまいます。
更新しました。
スクラッチ
android:layout_gravity="bottom"
は
ScrollView
が、スクロールできない。他のアイデアは?
解決方法は?
最終的には自分で解決しました。問題は
LinearLayout
でなく
ScrollView
(ということを考えると、変な感じがします)。
ScrollView
でした
が拡大し、一方
LinearLayout
はなかった)。
解決策としては
android:fillViewport="true"
の上に
ScrollView
.
関連
-
armeabi-v7a armeabi arm64-v8a パラメータの意味説明
-
Android.mk:7: *** セパレータがありません。
-
android.os の NetworkOnMainThreadException。
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
プログラム "git.exe "を実行できない場合の正しい解決方法です。CreateProcessエラー=2
-
最新のandroidプロジェクトディレクトリにあるarmeabi-v7aとarmeabiの具体的な意味とその違いを教えてください。
-
IllegalStateException。ArrayAdapter は、リソース ID が TextView である必要があります。
-
android studioが "The activity must be exported or contain an intent-filter" と表示され実行される。
-
例外「指定された子にはすでに親がいます」の解決方法。removeViewを呼び出す必要があります" の解決方法(ソースコード付き例)
-
[解決済み] 画面下部のビューを揃えるには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
cygwinのダウンロード、インストールチュートリアル、およびCDTの「makeプログラムがパスに見つからない」バグの解消
-
デフォルトのアクティビティが見つからない場合の対処法
-
GIF、Lottie、SVGA
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
Android studioのインストールと問題発生、Emulator: PANIC: AVDのシステムパスが見つかりません。
-
Error:A problem occurred configuring project ':app'. > ビルドを見つけられませんでした。
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
Android基本アプレット
-
アンドロイドにおけるトークンの利用
-
[解決済み] ScrollViewの中にConstraintLayoutを入れることは可能ですか?