簡體   English   中英

當軟鍵盤出現時,如何調整包含LeftBar和RightBar的布局

[英]How to adjust layout that contains LeftBar and RightBar when soft keyboard appears

布局圖片

我的應用程序有左右欄,有一些控件,這些欄應該是固定的 正文由用戶編輯輸入信息的文本字段。 當出現軟鍵盤(即自定義)時,鍵盤上方應顯示相應的編輯文本。

我知道Manifest中有這樣的選項作為android:windowSoftInputMode但我找不到我的問題。 我可以讓我的布局向上移動到鍵盤上方(帶有條形),這是不可接受的,或者保持布局沒有任何移動,所以我得到了鍵盤隱藏的編輯文本編輯。

請幫我解決這個問題?

我的布局樣本:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

    <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginLeft="100.0dip"
            android:layout_marginRight="200.0dip"
            android:orientation="vertical">

        <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginLeft="30dip"
                android:layout_marginRight="30dip">

            <TextView
                    android:id="@+id/createuser_textView_logo"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"
                    android:text="@string/createuser_text_logo"
                    style="@style/TextActivityLogo"/>


            <ScrollView
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_below="@+id/createuser_textView_logo"
                    android:layout_marginBottom="20dp">

                <RelativeLayout
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content">

                    <TextView
                            android:id="@+id/createuser_textView_text"
                            android:layout_alignParentLeft="true"
                            android:text="@string/createuser_text_text"
                            style="@style/TextActivityText"/>

                    <com.mycompany.myapp.views.MyEditText
                            android:id="@+id/createuser_editText_username"
                            android:layout_alignParentLeft="true"
                            android:layout_alignParentRight="true"
                            android:layout_below="@+id/createuser_textView_text"
                            android:hint="@string/createuser_edit_username"
                            android:nextFocusDown="@+id/createuser_editText_password"
                            style="@style/MyEditText"/>

                    <com.mycompany.myapp.views.MyEditText
                            android:id="@+id/createuser_editText_password"
                            android:layout_alignParentLeft="true"
                            android:layout_alignParentRight="true"
                            android:layout_below="@+id/createuser_editText_username"
                            android:hint="@string/createuser_edit_password"
                            android:inputType="textPassword"
                            android:nextFocusUp="@+id/createuser_editText_username"
                            android:nextFocusDown="@+id/createuser_editText_firstname"
                            style="@style/MyEditText"/>

                    <com.mycompany.myapp.views.MyEditText
                            android:id="@+id/createuser_editText_firstname"
                            android:layout_alignParentLeft="true"
                            android:layout_alignParentRight="true"
                            android:layout_below="@+id/createuser_editText_password"
                            android:hint="@string/createuser_edit_firstname"
                            android:nextFocusUp="@+id/createuser_editText_password"
                            android:nextFocusDown="@+id/createuser_editText_lastname"
                            style="@style/MyEditText"/>

                    <com.mycompany.myapp.views.MyEditText
                            android:id="@+id/createuser_editText_lastname"
                            android:layout_alignParentLeft="true"
                            android:layout_alignParentRight="true"
                            android:layout_below="@+id/createuser_editText_firstname"
                            android:hint="@string/createuser_edit_lastname"
                            android:nextFocusUp="@+id/createuser_editText_firstname"
                            android:nextFocusDown="@+id/createuser_editText_email"
                            style="@style/MyEditText"/>


                    <com.mycompany.myapp.views.MyEditText
                            android:id="@+id/createuser_editText_email"
                            android:layout_alignParentLeft="true"
                            android:layout_alignParentRight="true"
                            android:layout_below="@+id/createuser_editText_lastname"
                            android:hint="@string/createuser_edit_email"
                            android:imeOptions="actionDone|flagNoExtractUi"
                            android:inputType="textWebEmailAddress"
                            android:nextFocusUp="@+id/createuser_editText_lastname"
                            style="@style/MyEditText"/>

                </RelativeLayout>
            </ScrollView>
        </RelativeLayout>
    </RelativeLayout>

    <com.mycompany.myapp.views.LeftNavigationBar
            android:id="@+id/left_nav_bar"
            android:layout_width="100dp"
            android:layout_height="wrap_content"/>

    <com.mycompany.myapp.views.RightNavigationBar
            android:id="@+id/right_nav_bar"
            android:layout_width="200dip"
            android:layout_height="fill_parent"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"/>

</RelativeLayout>

看起來您希望鍵盤改變屏幕上的某些布局,而其他布局應該保持不變。 我不確定這是否可能與正常行為。

但是,如果您可以在軟鍵盤顯示時以某種方式獲取事件,則可以更改列表視圖滾動位置以顯示所需的文本視圖 如果您的鍵盤即使滾動到頂部也會阻止布局,您只需在列表視圖中添加邊距即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM