2017-08-10 119 views
1

我的項目中有軟鍵盤問題。安卓工具欄在鍵盤顯示時向上移動

我在我的Activity中有一個EditText,listview和一個發送按鈕的聊天屏幕。每當Edittext獲得焦點它向上移動工具欄和佈局。

我需要修復顯示鍵盤時的工具欄和佈局。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 

android:orientation="vertical"> 

<RelativeLayout 
    android:id="@+id/relheader" 
    android:layout_width="fill_parent" 
    android:layout_height="58dp" 
    android:background="@color/blue" 
    android:gravity="center" 
    android:isScrollContainer="false"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/customtoolbar_back" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:minHeight="?attr/actionBarSize" 
     android:weightSum="1"> 

     <TextView 
      android:id="@+id/idtextheaderprojectchatwithprivatemessage" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="Messages" 
      android:textColor="@color/white" 
      android:textSize="20dp" 
      android:textStyle="bold" /> 
    </android.support.v7.widget.Toolbar> 
</RelativeLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="5dp" 
    android:layout_weight="75" 
    android:orientation="vertical"> 


    <ListView 
     android:id="@+id/listViewwallpage" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/relfb" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:cacheColorHint="@android:color/transparent" 
     android:divider="@android:color/transparent" 
     android:dividerHeight="0dp" 
     android:fadingEdge="none" 
     android:listSelector="@android:color/transparent" 
     android:overScrollMode="never" /> 

</LinearLayout> 

<RelativeLayout 
    android:id="@+id/relfb" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_gravity="right" 
    android:layout_marginTop="5dp" 
    android:background="@drawable/edittext_top_line" 
    android:minHeight="42dp" 
    android:paddingBottom="5dp" 
    android:paddingTop="5dp"> 

    <EditText 
     android:id="@+id/edtserach" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="5dp" 
     android:layout_toLeftOf="@+id/lin" 
     android:background="@drawable/greyedittext_background" 
     android:hint="Type something..." 
     android:inputType="textMultiLine" 
     android:maxLength="160" 
     android:singleLine="true" 
     android:textColor="#000000" /> 

    <LinearLayout 
     android:id="@+id/lin" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/tvtextcount" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" 
      android:gravity="center_horizontal" 
      android:hint="" 
      android:textSize="12sp" 
      android:visibility="gone" /> 

     <Button 
      android:id="@+id/btnsend" 
      android:layout_width="wrap_content" 
      android:layout_height="30dp" 
      android:background="@android:color/transparent" 
      android:paddingLeft="10dp" 
      android:paddingRight="10dp" 
      android:text="Send" 
      android:textAllCaps="false" 
      android:textColor="@color/blue" 
      android:textSize="18sp" 
      android:textStyle="bold" /> 
    </LinearLayout> 
</RelativeLayout> 

我的RelativeLayout的工具欄和LinearLayout中的列表視圖。 有什麼建議嗎?

回答

0

檢查您的清單以瞭解您的Activity。您可能需要重新配置如何處理輸入法。請參閱this documentation

指定如何使你的UI應該響應

當輸入法出現在屏幕上,它減少了可用於您的應用程序的UI空間量。系統會決定如何調整UI的可見部分,但可能無法正確顯示。爲確保您的應用具有最佳行爲,您應該指定您希望系統如何在剩餘空間中顯示您的用戶界面。

0
在參與活動的AndroidManifest.xlm

地說:

android:windowSoftInputMode="adjustResize" 
+0

這不適合我。 –

+0

在清單中,你必須把它放到你有問題的活動中,如果你把它放在另一個地方,它什麼都不會做 –

0

在清單:

機器人:windowSoftInputMode = 「stateAlwaysHidden」

添加到相應的活動代碼。

更改工具欄如下:

<?xml version="1.0" encoding="utf-8"?> 

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@color/apptool_bar_bg" 
    android:minHeight="?attr/actionBarSize" 
    app:layout_scrollFlags="scroll|enterAlways|snap" 
    android:theme="@style/AppTheme.Toolbar" 
    app:titleTextAppearance="@style/AppTheme.Toolbar.Title"></android.support.v7.widget.Toolbar> 
0

我想你已經包含在清單的活動android:windowSoftInputMode="adjustResize"android:windowSoftInputMode="adjustPan"

如果您將它添加到清單中,請刪除這些行。

相關問題