ScrollViewsで多くの問題がありました。最近、コンテンツが画面サイズを超えるLinearViewを作成しようとしたので、親要素ScrollViewを使用して新しいレイアウトを作成し、その幅と高さをカスタム値に設定しました(レイアウトは画面全体を埋めるのではなく、ダイアログとして表示する必要があります)。
要素を選択すると、赤い境界線が表示され、定義済みのScrollView LayoutWidthと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のリンクを削除しました
EditTextの高さはwrap_content
にする必要があります。 fill_parent
は、ScrollView
では意味がありません。コンテンツがEditText
よりも小さいときにScrollView
がScrollView
を埋めるようにするには、ScrollView
でAndroid:fillViewport="true"
を使用します。
はい、ロメインが言ったように、スクロールビューはコンボに従う必要があります。
Android:fillViewport="true"
Android:layout_height="wrap_content"