PIN Activity

Интерфейс, диалоги, темы, стили, меню
Ответить
Lighter
Сообщения: 61
Зарегистрирован: 13 авг 2013, 16:39

PIN Activity

Сообщение Lighter » 11 сен 2013, 16:55

Всем привет!

Пытаюсь повторить разметку активности как в Dropbox:
Изображение

Пока что получается вот так:

Код: Выделить всё

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Enter your passcode" />
    
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal" >

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:cursorVisible="false"
            android:inputType="numberPassword"
            android:maxLength="1" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:cursorVisible="false"
            android:inputType="numberPassword"
            android:maxLength="1" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:cursorVisible="false"
            android:inputType="numberPassword"
            android:maxLength="1" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:cursorVisible="false"
            android:inputType="numberPassword"
            android:maxLength="1" />
    </LinearLayout>
    
    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:columnCount="3"
        android:orientation="horizontal" >

        <Button android:text="1" />
        <Button android:text="2" />
        <Button android:text="3" />
        <Button android:text="4" />
        <Button android:text="5" />
        <Button android:text="6" />
        <Button android:text="7" />
        <Button android:text="8" />
        <Button android:text="9" />
        <Button
            android:layout_column="1" 
            android:text="0" />
        <Button android:text="d" />
        
    </GridLayout>

</LinearLayout>
И вот мои основные вопросы:
1) Как сделать, чтобы кнопки в GridLayout были одинаковой ширины и занимали всё пространство?
2) Как задать ширину в EditText так, чтобы на различных экранах сохранялись пропорции?
3) Как сделать кнопку удаления символа (та, что рядом с кнопкой 0 в Dropbox)? Это картинка в кнопке или что-то другое?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: PIN Activity

Сообщение Foenix » 12 сен 2013, 13:45

1 и 2 за пропорции элементов отвечает параметр weight - вес.
3 на всех кнопках картинки, просто разные.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Lighter
Сообщения: 61
Зарегистрирован: 13 авг 2013, 16:39

Re: PIN Activity

Сообщение Lighter » 13 сен 2013, 12:23

Foenix, GridLayout не поддерживает параметр weight.
Но я заменил GridLayout на 4 LinearLayout и стало несколько лучше:
Изображение

Теперь вопрос такой: как сделать, чтобы текст в TextView располагался посередине, android:textAlignment="center" не помогает.

И как сделать, чтобы блок с кнопками был привязан к нижнему краю окна?

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: PIN Activity

Сообщение antonbright » 14 сен 2013, 16:09

в linearlayout layout_gravity = "center" или что то похожее. а как привязать не знаю знаю что можно отступ сделать от края через маргин боттом

Mykola
Сообщения: 132
Зарегистрирован: 26 июл 2013, 12:06

Re: PIN Activity

Сообщение Mykola » 16 сен 2013, 09:30

Lighter писал(а):Foenix, GridLayout не поддерживает параметр weight.
Но я заменил GridLayout на 4 LinearLayout и стало несколько лучше:
Изображение

Теперь вопрос такой: как сделать, чтобы текст в TextView располагался посередине, android:textAlignment="center" не помогает.

И как сделать, чтобы блок с кнопками был привязан к нижнему краю окна?
Забыл растянуть TextView?(match_parent)

Lighter
Сообщения: 61
Зарегистрирован: 13 авг 2013, 16:39

Re: PIN Activity

Сообщение Lighter » 16 сен 2013, 16:35

Я неправильно задал вопрос. Как сделать, чтобы текст в EditText располагался посередине? android:textAlignment="center" не помогает.

antonbright
Сообщения: 56
Зарегистрирован: 24 июн 2013, 18:50

Re: PIN Activity

Сообщение antonbright » 16 сен 2013, 19:52

не алаймент а гравити нужно центр я же сказал

Ответить