1

複数行の EditText とボタンがあります。ボタンは永続的なボトムシートを表示します (モーダルはここでは行いません)。

ボトムシートは基本的に LinearLayout であり、appcompat ボトムシートに変換されます。

app:layout_behavior="@string/bottom_sheet_behavior"

XMLで。

ボタンを押すと、次のように表示されます。

 View bottomSheet = context.findViewById(R.id._bottom_sheet);

 BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);

 behavior.setState(BottomSheetBehavior.STATE_EXPANDED);

今、私はそれが予想される動作であることを知っています.一番下のシートがそこにあるものをすべてカバーしています(EditTextはフォーカスと選択を保持する必要があるため、モーダルにしたくありません)が、私の質問は:

常に「全体」が表示されるように、下のビューの EditText のサイズを変更する方法はありますか? キーボードを見せたときのようなもの。

編集済み:元の質問ではパンが許可され、ビューの上部が非表示になります)

それとも、それを「通常の」ビューに変えて、ボタンのクリックで「現れる」ようにしたほうがいいですか?

あなたの洞察に感謝します。

Edit : また、Bottomsheet はメイン アクティビティで定義されているのに対し、EditText はフラグメント内の ViewPager で定義されていることにも言及する必要があります (これにより、サイズ変更が簡単ではなくなります)。

4

1 に答える 1

0

問題は実際には問題ではなく、何かを解決するための間違ったアプローチであることが判明しました。問題のEditTextは、それ自体が に配置されましたViewPager。自体のサイズを変更し、その中のViewpagerすべてのサイズを変更し、EditText.

上記のm vaiのコメントに感謝して、このソリューションに誘導してください。

于 2016-06-02T10:26:24.377 に答える