Frage

Ich möchte eine benutzerdefinierte Ansicht entwerfen, die so aussieht:

enter image description here

Ich suchte nach einer Lösung, und was ich bekam, war, eine zu erweitern EditText und passen Sie es an. Ich habe mich mit dem Beispiel des Notepad -Editors von Android angesehen, was mir nicht viel geholfen hat, da ich das teilen möchte EditText in mindestens 4 Teile.

Der obere ist wo M und DEG ist geschrieben, der rechte Teil ist, wo der x10^012 geschrieben ist, der linke Teil den aktuellen Betrieb enthält und der letzte Teil der größte ist, bei dem die Ziffern eingeschaltet sind.

Ich möchte jedoch, dass Sie mich in die richtige Richtung führen, um es richtig zu tun, und mir mitzuteilen, welche vorgefertigte Ansicht ich als Basisklasse verwenden sollte, um diese benutzerdefinierte Ansicht zu entwerfen. Jede Hilfe wird geschätzt.

War es hilfreich?

Lösung

Eine Möglichkeit besteht darin, die zu erweitern RelativeLayout Klasse und im Konstruktor aufblasen Sie ein XML -Layout:

<RelativeLayout>
   <TextView /> // M     DEG(or 2 `TextView`)
   <ImageButton /> //ImageView for the operation
   <TextView /> //the digits
   <TextView /> //the extra digits 10^12
</RelativeLayout>

Brauch RelativeLayout Klasse:

public class CustomView1 extends RelativeLayout {

    public CustomView1(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.lcd_layout, this, true);

        TextView part1 = (TextView) findViewById(R.id.the_id);
        //other stuff
    }

    public CustomView1(Context context, AttributeSet attrs) {
        this(context, attrs, 0);        
    }

    public CustomView1(Context context) {
        this(context, null);        
    }

}

Andere Tipps

Warum nicht einfach das in Ihrem Layout entwerfen? Stapel einiger LinearLayouts übereinander?

bearbeiten Beispiel für die Grenzfrage:

Legen Sie dies in Ihren rES/DRAGEBLE -Ordner:

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape>
            <gradient
                android:startColor="@color/c1"
                android:endColor="@color/c2"
                android:angle="270" />
             <stroke
                android:width="1dp"
                android:color="@color/stroke_color" />
        </shape>
</item>

</selector>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top