2016-04-21 80 views
1

我有一個多行EditText和一個按鈕,該按鈕顯示一個持久性的底部工作表(模態不會在這裏執行)。Android:當Appcomat底部顯示屏顯示時調整EditText

的bottomsheet基本上是一個的LinearLayout,在XML變成一個程序兼容性bottomsheet,與

app:layout_behavior="@string/bottom_sheet_behavior" 

的的buttonpress提起這件事是這樣的:

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

BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet); 

behavior.setState(BottomSheetBehavior.STATE_EXPANDED); 

現在,我知道這是預期的行爲,即底部片覆蓋不管有沒有(我不想讓它模式,爲的EditText需要保留其重點和選擇等),但我的問題是:

有沒有辦法讓底部視圖調整EditText的大小,以便始終顯示「整體」?有點像當你展示鍵盤時。

編輯:原來的問題將允許平移,這將隱藏視圖的頂部)

還是我最好只把它變成一個「普通」視圖,使它按鈕點擊「出現」?

感謝您的洞察力。

編輯:我還需要提,Bottomsheet上的主要活動定義,而的EditText是在片段的ViewPager(這使得調整大小小於直截了當)

+1

將bottomSheetCallback設置爲bottomSheet。當工作表使用浮動參數滑動時,您將收到回調。然後根據幻燈片值翻譯您的視圖。 – natario

+0

@mvai謝謝,這是一個很好的開始,現在我可以弄清楚有多少視圖被完全覆蓋。這也讓我意識到,我的問題是錯誤的,平移只會推動事物,我真的需要調整它。仍然不知道如何。 setLayoutparams可能是一個解決方案,雖然... –

+0

是的,更改佈局參數來改變高度。 – natario

回答

0

原來,問題是不是真正的問題,而是解決問題的錯誤方法。有問題的EditText本身被放置在ViewPager上。調整大小Viewpager本身調整了其中的所有內容,並正確調整了EditText的大小。

感謝上面的mVai的評論,指導我解決這個問題。