2009-03-17 13 views
6

Ich muss eine große Anzahl von EditText-Steuerelementen auf einem Bildschirm zeigen, von denen jede nur die Eingabe von 0-2 Ziffern erlaubt. Die Standard-EditText-Größe ist zu groß, um genügend EditText-Steuerelemente auf einem Bildschirm anzuzeigen, aber ich konnte nicht herausfinden, wie sie schmaler werden. Ich habe folgende Attribute versucht inWie EditText kleiner als Standard machen?

XML:

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

Die Frage ist also: Wie kann EditText kleiner als Standard gemacht werden?

+0

Padding-Eigenschaft zu verwenden und klein der Text in Anwendung bearbeiten –

Antwort

9

Versuchen Sie stattdessen, zeigt den Unterschied. Verwenden Sie die layout_width mit der angegebenen Breite.

<?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> 

alt text http://i40.tinypic.com/2953fao.jpg

+0

Das sieht eigentlich so breit wie der Standard für mich. Wie sieht es aus, wenn Sie nur zwei Zeichen im EditText haben? –

+0

OK, ich sehe was du jetzt meinst. Wenn keine Breite angegeben ist, wird die gesamte Breite des Textes für die Standardeinstellung bis zur Breite des Bildschirms verwendet. – Feet

+0

Ah, hab es. Mein Problem war, dass ich die Steuerelemente in einer Tabelle hatte, und das Ändern nur eines machte keine Änderung. Sobald ich sie ALLE änderte, sah ich die Änderungen. –

4

Hey, wenn Sie dies versuchen, kann es funktionieren ....... android: textAppearance = "android: attr/textAppearanceSmall"

1

Falls Sie am Ende auf dieser Seite zu suchen, wie das gleiche in Java-Code zu erreichen ..

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

Wenn in einer Tabelle, wie Sie beschreiben, android: layout_gravity = „left“ kollabieren die EditText bis zu der angegebenen Größe der EditText

Verwandte Themen