我有一個活動,基本上是一個長形式的輸入字段。 在每一行上,我想顯示一個TextView作爲每個EditText下面的提示文本,並且我希望TextView在用戶輸入數據時始終保持可見狀態。不幸的是,軟鍵盤會隱藏提示文本,並且始終將其自身置於EditText下方。是否有任何技術可以讓EditText下面的TextView在軟鍵盤出現並且內容調整(通過windowSoftInputMode = adjustResize | adjustPan)時也可見,而無需用戶滾動?鍵盤放置掩蓋下面的視圖EditText想保持可見
1
A
回答
1
編輯: 通過更深入地理解問題,我認爲你應該在用戶點擊編輯文本時以編程方式添加滾動。這裏是要做到這一點的代碼:
private final void focusOnView()
{
new Handler().post(new Runnable()
{
@Override
public void run()
{
your_scrollview.scrollTo(0, your_EditBox.getBottom());
}});
}
從我個人的經驗,我認爲沒有這樣的方式來做到這一點。你可以做的是將提示textview放在editext的右側。或是通過EDITTEXT一個提示佔位符用現代的方法:
在XML中,它只是android:hint="someText"
編程方式,你可以在上述方法中使用edittext.setHint(int);
通R.string.somestring。
1
Vishavjeet讓我在正確的軌道上建議我scrolldown揭示可能被鍵盤重疊的視圖。下面是一個類似於我用來解決問題的功能。當TextView上方的EditText獲得焦點時,可以調用它:
// View targetView; // View that may be hidden by keyboard
// ScrollView scrollContainerView; // Scrollview containing hiddenView
//
void assureViewVisible (View targetView, ScrollView, scrollContainerView) {
Window rootWindow = activity.getWindow();
Rect rMyView = new Rect();
View rootview = rootWindow.getDecorView();
rootview.getWindowVisibleDisplayFrame(rMyView); // Area not taken up by keyboard
int subTextPos[] = new int[2];
targetView.getLocationInWindow(subTextPos); // Get position of targetView
int subTextHt = targetView.getHeight(); // Get bottom of target view
if ((subTextPos[1]+subTextHt) > rMyView.bottom) { // Is targetView at all obscured?
int scrollBy = (subTextPos[1]+subTextHt) - rMyView.bottom + 10; // add a small bottom margin
mMeasurementViewScrollView.smoothScrollBy(0, scrollBy); // Scroll to subtext
}
}
相關問題
- 1. 從下面掩蓋AS3,保持掩碼可見?
- 2. 景觀鍵盤掩蓋視圖
- 3. EDITTEXT保持在鍵盤的上和滾動列表視圖
- 4. 強制鍵盤變爲可見並保持可見狀態
- 5. 鍵盤覆蓋部分edittext
- 6. Android軟鍵盤覆蓋EditText?
- 7. 保持鍵盤上方的視圖 - 當出現鍵盤時
- 8. 把EditText放在軟鍵盤上面
- 9. 如果鍵盤出現,請在可見區域保持android視圖
- 10. 當視圖不可見時在視圖下放置adview
- 11. 鍵盤掩蓋了我的UIViewController?
- 12. 當鍵盤出現時保持ListView的底部元素可見
- 13. Adobe Flex3:視圖可見時的鍵盤快捷鍵?
- 14. Android的軟鍵盤覆蓋EDITTEXT景觀
- 15. Android RecyclerView - 當鍵盤打開時,保持最後一個可見項目可見
- 16. 2 EditText垂直,軟鍵盤覆蓋下面一個當選擇的上一個
- 17. 想要保持播放視圖時播放聲音
- 18. 如何在彈出軟鍵盤時使聚焦的EditText可見?
- 19. 保持基礎包不被掩蓋
- 20. 顯示視圖時,鍵盤是可見的
- 21. 向鍵盤可見的模態視圖控制器轉換
- 22. 當鍵盤出現時,Android EditText並不完全可見
- 23. 刪除鍵盤或將鍵盤上的選取器視圖放置在
- 24. 的EditText由鍵盤
- 25. 下面的對象被'package:stats'掩蓋:lowess
- 26. 當鍵盤可見時Xamarin Forms視圖不滾動
- 27. 當在橫向上可見鍵盤時提升視圖
- 28. 在鍵盤可見時向UITextField添加輸入附件視圖
- 29. KIF通過鍵盤/可見性檢查視圖溢出
- 30. android force鍵盤可見
謝謝,我知道替代方案。我正在尋找我的特定設計的解決方案。 – AlanKley
如果文件夾包含在滾動視圖中,則可以以編程方式滾動視圖。您可以撥打的onClick()的EditText '私人最終無效focusOnView(){ 新的處理程序()的方法,這個功能。職位(新的Runnable(){@Override 公共 無效的run(){ your_scrollview.scrollTo(0 ,your_EditBox.getBottom()); } }); }' –
現在可以工作!我會試一試。我可能想要在onFocusChange偵聽器中滾動。 – AlanKley