1. 程式人生 > >Android-UI-關於View-一種toolbar和ScrollView同時存在且軟鍵盤遮擋ScrollView中的Edittext的解決辦法

Android-UI-關於View-一種toolbar和ScrollView同時存在且軟鍵盤遮擋ScrollView中的Edittext的解決辦法

問題描述

前段時間在忙工作室的招新app的時候遇到了一種難纏的情況,描述一下出問題的佈局:

<RelativeLayout ...>
    <ImageView.../>  <!--這三個控制元件可以可以看成一個toolbar-->
    <ImageView.../>  <!--工作室的圖案,名稱之類的,需要一直保持在這個位置-->
    <TextView.../>
    <ScrollView>    <!--ScrollView在上面上個控制元件之下-->
        <Edittext.../>   <!--接下來是好幾個Edittext,多到必須用ScrollView滑動才能看完-->
        <Edittext.../>
        <Edittext.../>
        <Edittext.../>
    </ScrollView>
</RelativeLayout>

需求是點選Edittext的時候需要螢幕移動到該Edittext所在位置(最上方的3個控制元件要保持原來的位置,一直不變),且軟鍵盤不能遮擋

嘗試的方法

  • 首先想到的是在Manifest裡面給對應的Activity設定android:windowSoftInputMode=”adjustPan”屬性,但是會遇到ScrollView上面的3個控制元件一齊被擠出了螢幕之外,效果非常醜陋。

  • 上面的方法不行後,嘗試過通過監聽被點選的Edittext在螢幕中的相對位置,計算尺ScrollView需要移動的距離,並使用ScrollView的scrollTo方法手動移動至目標位置(這方法有點蠢),但是太複雜了,最終沒有采用。

  • Google,必應的其他方法都是劍走偏鋒。

解決方法

  1. 給RelativeLayout設定 android:fitsSystemWindows=”true”屬性。
  2. 給ScrollView設定android:overScrollMode=”never”。
  3. 在Manifest裡面為Activity設定android:windowSoftInputMode=”stateUnchanged|adjustResize|stateHidden”屬性。
  4. 問題解決,終於可以忙下一個專案了(╯‵□′)╯︵┻━┻

相關推薦

Android-UI-關於View-toolbarScrollView同時存在鍵盤遮擋ScrollViewEdittext解決辦法

問題描述 前段時間在忙工作室的招新app的時候遇到了一種難纏的情況,描述一下出問題的佈局: <RelativeLayout ...> <ImageView.../> <!--這三個控制元件可以可以看成一個toolbar

Uncaught TypeError: Cannot read property 'property' of undefined錯誤的解決辦法

過程 body aaa erro name 跳出循環 記錄 peer query 我有一個名為positionList的js數組。 數組裏面放的是map類型的數據。。 如 {   id:1,   name:"aaaa" } 當我在遍歷數據的過程中刪除了一個元素後。(用的是j

android鍵盤遮擋WebViewinput的解決方案

現象 在做hybrid應用時,我們用WebView來載入html頁面,經常會出現軟體盤彈出,遮擋了html中輸入控制元件(如input)的問題。 無論你是用系統的原生WebView(從4.0-7.0),還是Crosswalk的XWalkView,都有這個問題

電腦某個鍵失靈 我遇到的是QE鍵之間的鍵失靈,用鍵盤也沒有用 (解決辦法

電腦某個鍵失靈 我遇到的是Q和E鍵之間的鍵失靈,用軟鍵盤也沒有用 這種情況應該是病毒所致 你可以開啟我的電腦右鍵-屬性-硬體-裝置管理器,應該可以看到帶有感嘆號的鍵盤圖示,雙擊開啟,如果發現“鍵盤問題:由於其配置資訊(登錄檔中的)不完整或已損壞,Windows 無法啟動這個

求解所有的變量的所有次冪的每

math 所有 等比數列 好的 是個 sum 解決 display 問題 標題很醜。。。 問題描述 \(n\) 個變量 \(a_n\),求所有的 \[s_j=\sum_{i=1}^{n}a_i^j, j \in [0,m]\] 解決 \(O(n*m)\) 太暴力了 一個比

可擴充套件的同時進化例項特徵選擇方法

#引用 ##Latex @article{GARCIAPEDRAJAS2013150, title = “A scalable approach to simultaneous evolutionary instance and feature selectio

Android UI優化—DDMS—TraceView簡介使用

TraceView簡介 1、TraceView 是 Android 平臺的一款效能分析的工具 2、TraceView通過圖形化的方式讓我們瞭解程式的效能 3、TraceView的分析可以具體到 method TraceView 本身只是一個數據分析工具,而資料的採集則需要使用 And

Android UI優化—App啟動流程啟動模式

Android 理論基礎 1、每一個Android App都執行在一個單獨的程序中 2、Android App由很多不同元件組成,這些元件還可以啟動其他App的元件 3、一個程序裡面只有一個主執行緒 4、程序在其需要的時候被啟動 基於上述共識,我們先來分析Android系統的啟動流程

ABAP 關於下拉框的寫法關聯螢幕輸入的方法

網上下拉框的教程很多,我用的方法也比較簡單,主要是為了記錄一下自己的學習狀況,實現下拉框如下: 1.設定下拉框  LOOP AT lt_zjwsfh.         CLEAR:l

用 Kotlin 開發 Android 專案是什麼樣的感受?

前言 從初學 Kotlin,到嘗試性的寫一點體驗程式碼,再到實驗性的做一些封裝工作,到最後摸爬滾打著寫了一個專案。不得不說過程中還是遇上了不少的問題,儘管有不少坑是源於我自己的選擇,比如使用了 anko 佈局放棄了 xml,但是總體來說,這門語言帶給我的驚喜是

Android UI之五基本佈局詳解

Android佈局是應用介面開發的重要一環,在Android中,共有五種佈局方式,分別是: LinearLayout (線性佈局) RelativeLayout(相對佈局) FrameLayout(幀佈局) TableLayout(表格佈局)GridLay

android UI 的去標題欄去狀態列(全屏)

Android 設定隱藏標題欄和狀態列有兩種方法: 第一:在程式碼中實現 PS:設定隱藏標題欄和狀態列的程式碼一定要寫在 setContentView(R.layout.activity_main)前面,否則會報錯。 protected void onCreate(Bund

Android屬性動畫():ValueAimatorObjectAnimator的基本使用

補間動畫 在屬性動畫之前,有補間動畫(Animation類)供我們使用,為什麼有了補間動畫還要屬性動畫? 1.補間動畫只能對view進行操作,有很大的侷限性 2.補間動畫只能實現移動,縮放,旋轉,淡進淡出,其他的效果很難做到 3.補間動畫只是改變了view的顯示效果,而沒有

前端寫一個月的原生 Android 是怎樣體驗?

一個前端程式設計師的一個月原生 Android 開發體驗。自從我寫了 Android 應用後,上

Android ScrollView巢狀ExpandableListView顯示不正常的問題的解決辦法

  關於ScrollView巢狀ExpandableListView導致ExpandableListView顯示不正常的問題解決方法有很多,在這裡介紹一種小編親自測試通過的方法。 1:不顯示chidview: 重寫ExpandableListView : public&n

WPF 分享設置程序保配置文件的方法

combo chang col ORC 地方 data 修改配置 set mys 最近需要做一個配置程序,主要給其他程序做相關配置的小工具。 配置項蠻多的,一般我們都是將各個配置項寫到配置文件的節點中,比如App.config文件或者自定義的xml文件。 因為我用的是wp

Android鍵盤遮擋的四解決方案

問題概述 在編輯框輸入內容時會彈出軟鍵盤,而手機螢幕區域有限往往會遮住輸入介面,我們先看一下問題效果圖: 輸入使用者名稱和密碼時,系統會彈出鍵盤,造成系統鍵盤會擋住文字框的問題,如圖所示: 輸入密碼時輸入框被系統鍵盤遮擋了,大大降低了使用者操作體驗,這就是開發中非常常見的軟鍵盤遮擋的問題,

Android PopupwindowScrollView鍵盤無法置頂EditText

問題描述:Popupwindow中ScrollView中存在很多EditText,軟鍵盤無法把EditText頂上去 解決辦法:1、去掉ScollView的滾動條——在xml中新增屬性android:scrollbars="none" 2、設定軟鍵盤彈出方式為:setInputMeth

android UI控制元件之webview控制元件使用例項:載入網頁到webview

package com.vincent.org.networkapp; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; impo

Android PullDownListView ScrollView Adapter之間下拉重新整理重疊之坑以及解決辦法

         自學Android一年了,做了大大小小一些App,參與了專案前臺後臺開發一年以來,個人感覺進步很大,遇到過很多坑。但是總是因為時間和文筆太爛無處下手沒有記錄自己的學習心得,真是遺憾。今天晚上遇到這個問題是第二次了,突然想到自己第一次解決問題的痛苦,那種經歷