Android EditText expands to dialog

佐手、 提交于 2019-12-07 11:17:25

问题


I have this layout

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

    <LinearLayout 
        android:id="@+id/viewer_top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/background_dark"
        android:orientation="horizontal" >

        <RelativeLayout 
            android:layout_width="0dp"
            android:layout_height="wrap_content" 
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="3dp"
            android:layout_weight="1" >
            <EditText
                android:id="@+id/viewer_filter"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/hint_filter"
                android:background="@android:color/white"
                android:drawableLeft="@android:drawable/ic_menu_search"
                android:inputType="text"
                android:paddingLeft="4dp"
                android:selectAllOnFocus="true" >
            </EditText>
            <ImageView
                android:id="@+id/viewer_filterX"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_alignTop="@id/viewer_filter"
                android:layout_alignRight="@id/viewer_filter"
                android:src="@android:drawable/ic_menu_close_clear_cancel"
                android:visibility="invisible" >
            </ImageView>
        </RelativeLayout>

        <RelativeLayout 
            android:layout_width="0dp"
            android:layout_height="wrap_content" 
            android:layout_marginLeft="4dp"
            android:layout_marginRight="4dp"
            android:layout_marginTop="3dp"
            android:layout_marginBottom="5dp"
            android:layout_weight="1" >
            <EditText
                android:id="@+id/viewer_search"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/hint_search"
                android:background="@android:color/white"
                android:drawableLeft="@android:drawable/ic_menu_search"
                android:inputType="text"
                android:paddingLeft="4dp"
                android:selectAllOnFocus="true" >
            </EditText>
            <ImageView
                android:id="@+id/viewer_searchGo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_alignTop="@id/viewer_search"
                android:layout_alignRight="@id/viewer_search"
                android:src="@android:drawable/ic_menu_send"
                android:visibility="invisible" >
            </ImageView>
            <ImageView
                android:id="@+id/viewer_searchX"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_alignTop="@id/viewer_search"
                android:layout_toLeftOf="@id/viewer_searchGo"
                android:src="@android:drawable/ic_menu_close_clear_cancel"
                android:visibility="invisible" >
            </ImageView>
        </RelativeLayout>
    </LinearLayout>

    <HorizontalScrollView
        android:id="@+id/viewer_hscroll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/viewer_top" >
        <ListView
            android:id="@+id/viewer_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </ListView>
    </HorizontalScrollView>

</RelativeLayout>

When I click on either EditText it expands to this dialog:

On portrait mode the EditTexts can be edited as they are without expanding. The XML for portrait is similar, only the EditTexts are one below the other and are screen wide.

How do I prevent this EditText expansion?
Not only the full phone screen is hidden by the EditText + virtual keyboard, but the clickable images the I put over the EditText are not visible.

  • I tried to set the EditText layout_width to 0dp, but they don't show.
  • I am not using SearchViews because they steal the focus and I cannot use the back key to go back to the previous activity.

Update
I removed the layout-land XML and used the same XML for both portrait and landscape.
In portrait mode it is fine, no expansion, in landscape mode there is expansion.
So it has to do somehow with being in landscape mode.


回答1:


add this line to your edit text

android:imeOptions="flagNoFullscreen"

edit text look like this

<EditText
                android:id="@+id/viewer_filter"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="hint_filter"
                android:background="@android:color/white"
                android:drawableLeft="@android:drawable/ic_menu_search"
                android:inputType="text"
                android:paddingLeft="4dp"
                android:selectAllOnFocus="true" 
                android:imeOptions="flagNoFullscreen">



回答2:


Try to use android:maxLines="1" for EditText




回答3:


I had similar issue. You can use mEditText.setSingleLine(true); where you are using it. This will solve your problem.




回答4:


Hi please add this line in java code where your edit text is declared description.setMaxLines(1);




回答5:


This post addresses the same problem and has the solution

Need to add

android:imeOptions="flagNoExtractUi"

to prevent this behavior.

If someone knows how, please mark this post as duplicate.



来源:https://stackoverflow.com/questions/15128706/android-edittext-expands-to-dialog

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!