android - input 스튜디오 안드로이드 edittext를 한 줄로 제한




10 Answers

android:singleLine="true" 사용 android:singleLine="true" 는 더 이상 사용되지 않습니다.

입력 유형을 추가하고 maxline을 1로 설정하면 모든 것이 잘 작동합니다.

android:inputType="text"
android:maxLines="1"
안드로이드 edittext 디자인

가능한 중복 : android-singleline-true-not-working-for-edittext

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:lines="1"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search...">
</EditText>

위의 EditText 를 단 한 줄로 만들고 싶습니다. 사용자가 "엔터"를 눌러도 커서는 두 번째 줄로 내려 가지 않아야합니다. 아무도 내가 그 일을하도록 도울 수 있습니까?




이 줄을 xml의 EditText에 추가해야합니다 :

android:maxLines="1"



이제 android:singleLine 속성은 더 이상 사용되지 않습니다. 이러한 속성을 EditText 에 추가하여 EditText 가 단일 행이되도록하십시오.

android:inputType="text"
android:imeOptions="actionNext"
android:maxLines="1"



이것은 EditText에서 작동합니다 :

android:inputType="text"

그런 다음 입력 텍스트의 최대 길이를 설정합니다.

android:maxLines="1"

그것들은 지금 필요한 2 가지입니다.




한 사람이 EditText의 setMaxLines 메소드를 호출하는 것을 제외하고 모든 사람들이 XML 방식을 보여줍니다. 그러나, 내가 그것을했을 때, 그것은 작동하지 않았다. 나를 위해 일한 한 가지는 입력 유형을 설정하는 것이 었습니다.

EditText editText = new EditText(this);
editText.setInputType(InputType.TYPE_CLASS_TEXT);

이것은 AZ, az, 0-9 및 특수 문자를 허용하지만 입력을 허용하지 않습니다. Enter 키를 누르면 응용 프로그램에서 적용 가능한 경우 다음 GUI 구성 요소로 이동합니다.

해당 EditText에 넣을 수있는 최대 문자 수를 설정하거나 화면 오른쪽에있는 내용을 누르거나 화면 자체에서 벗어나 시작할 수 있습니다. 다음과 같이 할 수 있습니다.

InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(8);
editText.setFilters(filters);

그러면 EditText에서 최대 문자 수를 8로 설정합니다. 이 모든 것이 당신을 돕길 바랍니다.




프로그래밍 방식 :

textView.setMaxLines(1);



코드 대신 코드 아래에서 사용

<EditText 
    android:id="@+id/searchbox"  
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:lines="1"
    android:singleLine="true"
    android:scrollHorizontally="true"
    android:ellipsize="end"
    android:layout_weight="1"
    android:layout_marginTop="2dp"
    android:drawablePadding="10dp"
    android:background="@drawable/edittext"
    android:drawableLeft="@drawable/folder_full"
    android:drawableRight="@drawable/search"
    android:paddingLeft="15dp"
    android:hint="search..."/>



또한 android : inputType 속성이 textMultiLine 인지 주목해야합니다. 그렇다면 android : singleLine, android : imeOptions, android : ellipsize and android maxLines 속성은 무시되고 EditText는 다중 행을 허용합니다.




as android:singleLine="true" 는 이제 developer.android.com/reference/android/R.attr.html#singleLine 됩니다.

android : maxLines = "1"

대신에 maxLines를 사용하여 정적 텍스트의 레이아웃을 변경하고 편집 가능한 텍스트보기 대신 inputType 속성의 textMultiLine 플래그를 사용하십시오 (singleLine 및 inputType이 모두 제공되면 inputType 플래그가 singleLine의 값을 대체합니다).




XML 파일에서 텍스트 편집에이 특성을 추가하십시오

 android:maxLines="1"



Related