Страница 1 из 1

PIN Activity

Добавлено: 11 сен 2013, 16:55
Lighter
Всем привет!

Пытаюсь повторить разметку активности как в 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)? Это картинка в кнопке или что-то другое?

Re: PIN Activity

Добавлено: 12 сен 2013, 13:45
Foenix
1 и 2 за пропорции элементов отвечает параметр weight - вес.
3 на всех кнопках картинки, просто разные.

Re: PIN Activity

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

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

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

Re: PIN Activity

Добавлено: 14 сен 2013, 16:09
antonbright
в linearlayout layout_gravity = "center" или что то похожее. а как привязать не знаю знаю что можно отступ сделать от края через маргин боттом

Re: PIN Activity

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

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

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

Re: PIN Activity

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

Re: PIN Activity

Добавлено: 16 сен 2013, 19:52
antonbright
не алаймент а гравити нужно центр я же сказал