29

ScrollViewsで多くの問題が発生しました。最近、コンテンツが画面サイズを超えるLinearViewを作成しようとしたので、親要素ScrollViewを使用して新しいレイアウトを作成し、その幅と高さをカスタム値に設定しました(レイアウトはダイアログとして表示される必要があります-画面全体に表示されません)。

要素を選択すると、赤い境界線が、事前定義されたScrollViewLayoutWidthとLayoutHeightの長方形を囲んでいるように見えます。これは問題ありません。次に、LinearView内に配置し、LayoutWidthとLayoutHeightの値をfill_parentに設定しました。

次に、LinearLayoutに要素を追加し始めたとき、親のScrollView全体ではなく、境界線(赤いユリ)が挿入された要素をラップしました。

したがって、LinearLayout(ScrollViewの子)のコンテンツが親ScrollViewのサイズを超えた場合、スクロールは表示されず、下部の要素は単に非表示になります。

とにかく..その場合、XMLコンテンツは広すぎてここに質問を投稿できませんでしたが、今ではもっと単純な例でも同じ問題が発生しています。

レイアウトの次の部分は、スクロール可能なEditTextにすることを目的としています(ユーザー入力がウィジェットのプライマリサイズを超える場合)。EditTextの高さを120pxに設定したかったので、親のScrollViewの高さを120pxに設定し、子のEditTextをfill_parentに設定しました。この場合も、EditTextはScrollView領域全体ではなく、1行で埋められます。

 <ScrollView android:layout_height="120px" android:layout_width="fill_parent">
<EditText android:id="@+id/txtContent" android:layout_height="fill_parent" android:layout_width="fill_parent" android:text="TestContent">
</EditText>
</ScrollView>

EditTextが親コントロールを埋め、ユーザーの入力がコントロールサイズを超えた場合にスクロールが表示されるように、上記のコンテンツの形状を変更する方法を知っている人はいますか?

ありがとうございました!

編集:

以下はレイアウトのスクリーンショットです

削除されたデッドImageShackリンク
削除されたデッドImageShackリンク

4

2 に答える 2

95

EditTextの高さは。である必要がありwrap_contentます。fill_parentでは意味がありませんScrollView。コンテンツが、よりも小さいときにEditTextを埋めたい場合は、でを使用します。ScrollViewScrollViewandroid:fillViewport="true"ScrollView

于 2010-01-09T19:40:20.723 に答える
9

はい、Romainが言ったように、scrollviewは次のコンボが必要です。

  1. ScrollViewの場合android:fillViewport="true"
  2. ScrollViewの子の場合android:layout_height="wrap_content"
于 2011-08-24T04:57:48.793 に答える