Пользовательский вид, как калькулятор ЖК - PullRequest
0 голосов
/ 20 февраля 2012

Я хочу создать собственный вид, который выглядит следующим образом:

enter image description here

Я искал решение, и я получил расширение EditText и его настройку. Я посмотрел пример редактора блокнота из Android, который мне не сильно помог, поскольку я хочу разбить EditText как минимум на 4 части.

Верхняя часть - это то, где написано M и DEG, правая часть - это то, где написано x10 ^ 012, левая часть содержит текущую операцию, а последняя часть - самая большая, где цифры на.

Однако я хочу, чтобы вы направили меня в правильном направлении, чтобы сделать это правильно, и скажите, какой предварительно созданный вид я должен использовать в качестве базового класса для разработки этого пользовательского представления. Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Одна из возможностей - расширить класс RelativeLayout и в конструкторе накачать макет XML:

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

Пользовательский RelativeLayout класс:

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);        
    }

}
1 голос
/ 20 февраля 2012

Почему бы просто не спроектировать это в вашем макете?Сложить несколько LinearLayouts друг над другом?

edit пример вопроса о границе:

поместите его в папку res / drawable:

<?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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...