Pergunta

Eu preciso mostrar um grande número de controles EditText em uma tela, cada um dos quais só irá permitir entrar 0-2 dígitos. O tamanho EditText padrão é muito grande para mim para mostrar os controlos EditText suficientes em uma tela, mas foram incapazes de descobrir como torná-los mais estreito. Eu tentei os seguintes atributos em

XML:

android:maxLength="2"
android:layout_width="20dip"
android:maxWidth="20px"
android:ems="2"
android:maxEms="2"

Então a questão é: como pode EditText ser menores do que padrão

Foi útil?

Solução

Tente desta forma em vez disso, mostra a diferença. Utilizar a layout_width com a largura especificada.

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

<EditText
    android:width="10dip"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />

<EditText
    android:layout_width="40dip"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    android:maxLength="2"
    />

</LinearLayout>

text alt

Outras dicas

Hey uma vez que você tentar fazer isso, ele pode trabalhar ....... android: textAppearance = "android:? attr / textAppearanceSmall"

No caso de você acabar nesta página para pesquisar como conseguir o mesmo em código Java ..

txtSample.setFilters(new InputFilter[]{new InputFilter.LengthFilter(2)});

Quando em uma mesa, como você descreve, android: layout_gravity = "left" entrará em colapso a EditText para com o tamanho declarado da EditText

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top