Use TextInputLayout in setup incoming

Adds the show password eye to setup incoming screen. Layout adjustments to account for the difference in TextInputEditText
This commit is contained in:
MonkeyMatt 2020-12-21 13:53:02 +13:00
parent 84557da148
commit c889259707
4 changed files with 149 additions and 143 deletions

View file

@ -17,7 +17,6 @@ import android.widget.Button;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.CompoundButton; import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
@ -51,6 +50,8 @@ import java.net.URISyntaxException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
import timber.log.Timber; import timber.log.Timber;
public class AccountSetupIncoming extends K9Activity implements OnClickListener { public class AccountSetupIncoming extends K9Activity implements OnClickListener {
@ -65,23 +66,23 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
private final AccountCreator accountCreator = DI.get(AccountCreator.class); private final AccountCreator accountCreator = DI.get(AccountCreator.class);
private String mStoreType; private String mStoreType;
private EditText mUsernameView; private TextInputEditText mUsernameView;
private EditText mPasswordView; private TextInputEditText mPasswordView;
private ClientCertificateSpinner mClientCertificateSpinner; private ClientCertificateSpinner mClientCertificateSpinner;
private TextView mClientCertificateLabelView; private TextView mClientCertificateLabelView;
private TextView mPasswordLabelView; private TextInputLayout mPasswordLayoutView;
private EditText mServerView; private TextInputEditText mServerView;
private EditText mPortView; private TextInputEditText mPortView;
private String mCurrentPortViewSetting; private String mCurrentPortViewSetting;
private Spinner mSecurityTypeView; private Spinner mSecurityTypeView;
private int mCurrentSecurityTypeViewPosition; private int mCurrentSecurityTypeViewPosition;
private Spinner mAuthTypeView; private Spinner mAuthTypeView;
private int mCurrentAuthTypeViewPosition; private int mCurrentAuthTypeViewPosition;
private CheckBox mImapAutoDetectNamespaceView; private CheckBox mImapAutoDetectNamespaceView;
private EditText mImapPathPrefixView; private TextInputEditText mImapPathPrefixView;
private EditText mWebdavPathPrefixView; private TextInputEditText mWebdavPathPrefixView;
private EditText mWebdavAuthPathView; private TextInputEditText mWebdavAuthPathView;
private EditText mWebdavMailboxPathView; private TextInputEditText mWebdavMailboxPathView;
private Button mNextButton; private Button mNextButton;
private Account mAccount; private Account mAccount;
private boolean mMakeDefault; private boolean mMakeDefault;
@ -123,8 +124,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
mPasswordView = findViewById(R.id.account_password); mPasswordView = findViewById(R.id.account_password);
mClientCertificateSpinner = findViewById(R.id.account_client_certificate_spinner); mClientCertificateSpinner = findViewById(R.id.account_client_certificate_spinner);
mClientCertificateLabelView = findViewById(R.id.account_client_certificate_label); mClientCertificateLabelView = findViewById(R.id.account_client_certificate_label);
mPasswordLabelView = findViewById(R.id.account_password_label); mPasswordLayoutView = findViewById(R.id.account_password_layout);
TextView serverLabelView = findViewById(R.id.account_server_label);
mServerView = findViewById(R.id.account_server); mServerView = findViewById(R.id.account_server);
mPortView = findViewById(R.id.account_port); mPortView = findViewById(R.id.account_port);
mSecurityTypeView = findViewById(R.id.account_security_type); mSecurityTypeView = findViewById(R.id.account_security_type);
@ -139,6 +139,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
mCompressionWifi = findViewById(R.id.compression_wifi); mCompressionWifi = findViewById(R.id.compression_wifi);
mCompressionOther = findViewById(R.id.compression_other); mCompressionOther = findViewById(R.id.compression_other);
mSubscribedFoldersOnly = findViewById(R.id.subscribed_folders_only); mSubscribedFoldersOnly = findViewById(R.id.subscribed_folders_only);
TextInputLayout serverLayoutView = findViewById(R.id.account_server_layout);
mNextButton.setOnClickListener(this); mNextButton.setOnClickListener(this);
@ -203,7 +204,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
mStoreType = settings.type; mStoreType = settings.type;
if (settings.type.equals(Protocols.POP3)) { if (settings.type.equals(Protocols.POP3)) {
serverLabelView.setText(R.string.account_setup_incoming_pop_server_label); serverLayoutView.setHint(getString(R.string.account_setup_incoming_pop_server_label));
findViewById(R.id.imap_path_prefix_section).setVisibility(View.GONE); findViewById(R.id.imap_path_prefix_section).setVisibility(View.GONE);
findViewById(R.id.webdav_advanced_header).setVisibility(View.GONE); findViewById(R.id.webdav_advanced_header).setVisibility(View.GONE);
findViewById(R.id.webdav_mailbox_alias_section).setVisibility(View.GONE); findViewById(R.id.webdav_mailbox_alias_section).setVisibility(View.GONE);
@ -213,7 +214,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
findViewById(R.id.compression_label).setVisibility(View.GONE); findViewById(R.id.compression_label).setVisibility(View.GONE);
mSubscribedFoldersOnly.setVisibility(View.GONE); mSubscribedFoldersOnly.setVisibility(View.GONE);
} else if (settings.type.equals(Protocols.IMAP)) { } else if (settings.type.equals(Protocols.IMAP)) {
serverLabelView.setText(R.string.account_setup_incoming_imap_server_label); serverLayoutView.setHint(getString(R.string.account_setup_incoming_imap_server_label));
ImapStoreSettings imapSettings = (ImapStoreSettings) settings; ImapStoreSettings imapSettings = (ImapStoreSettings) settings;
@ -231,7 +232,7 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
findViewById(R.id.imap_folder_setup_section).setVisibility(View.GONE); findViewById(R.id.imap_folder_setup_section).setVisibility(View.GONE);
} }
} else if (settings.type.equals(Protocols.WEBDAV)) { } else if (settings.type.equals(Protocols.WEBDAV)) {
serverLabelView.setText(R.string.account_setup_incoming_webdav_server_label); serverLayoutView.setHint(getString(R.string.account_setup_incoming_webdav_server_label));
mConnectionSecurityChoices = new ConnectionSecurity[] { mConnectionSecurityChoices = new ConnectionSecurity[] {
ConnectionSecurity.NONE, ConnectionSecurity.NONE,
ConnectionSecurity.SSL_TLS_REQUIRED }; ConnectionSecurity.SSL_TLS_REQUIRED };
@ -410,15 +411,13 @@ public class AccountSetupIncoming extends K9Activity implements OnClickListener
if (isAuthTypeExternal) { if (isAuthTypeExternal) {
// hide password fields, show client certificate fields // hide password fields, show client certificate fields
mPasswordView.setVisibility(View.GONE); mPasswordLayoutView.setVisibility(View.GONE);
mPasswordLabelView.setVisibility(View.GONE);
mClientCertificateLabelView.setVisibility(View.VISIBLE); mClientCertificateLabelView.setVisibility(View.VISIBLE);
mClientCertificateSpinner.setVisibility(View.VISIBLE); mClientCertificateSpinner.setVisibility(View.VISIBLE);
} else { } else {
// show password fields, hide client certificate fields // show password fields, hide client certificate fields
mPasswordView.setVisibility(View.VISIBLE); mPasswordLayoutView.setVisibility(View.VISIBLE);
mPasswordLabelView.setVisibility(View.VISIBLE);
mClientCertificateLabelView.setVisibility(View.GONE); mClientCertificateLabelView.setVisibility(View.GONE);
mClientCertificateSpinner.setVisibility(View.GONE); mClientCertificateSpinner.setVisibility(View.GONE);
} }

View file

@ -1,14 +1,15 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" xmlns:tools="http://schemas.android.com/tools"
android:layout_height="fill_parent" android:orientation="vertical"
android:layout_width="fill_parent"> android:layout_height="match_parent"
android:layout_width="match_parent">
<include layout="@layout/toolbar"/> <include layout="@layout/toolbar"/>
<ScrollView <ScrollView
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" android:layout_weight="1"
android:padding="6dip" android:padding="6dip"
@ -19,29 +20,29 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<!-- This text may be changed in code if the server is IMAP, etc. -->
<TextView
android:id="@+id/account_server_label"
android:text="@string/account_setup_incoming_pop_server_label"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary"
android:contentDescription="@string/account_setup_incoming_password_label"/>
<EditText <!-- The hint text may be changed in code if the server is IMAP, etc. -->
android:id="@+id/account_server" <com.google.android.material.textfield.TextInputLayout
android:singleLine="true" android:id="@+id/account_server_layout"
android:inputType="textUri" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent"/> android:layout_marginTop="@dimen/account_setup_margin_between_items_incoming_and_outgoing">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/account_server"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textUri"
android:hint="@string/account_setup_incoming_pop_server_label"
android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
<TextView <TextView
android:text="@string/account_setup_incoming_security_label" android:text="@string/account_setup_incoming_security_label"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:textAppearance="?android:attr/textAppearanceSmall" style="@style/InputLabel"
android:textColor="?android:attr/textColorPrimary"/> android:layout_marginTop="6dp"/>
<Spinner <Spinner
android:id="@+id/account_security_type" android:id="@+id/account_security_type"
@ -49,84 +50,87 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:contentDescription="@string/account_setup_incoming_security_label"/> android:contentDescription="@string/account_setup_incoming_security_label"/>
<TextView <com.google.android.material.textfield.TextInputLayout
android:text="@string/account_setup_incoming_port_label" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_marginTop="@dimen/account_setup_margin_between_items_incoming_and_outgoing">
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary"/>
<EditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/account_port" android:id="@+id/account_port"
android:singleLine="true" android:layout_width="match_parent"
android:inputType="number" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:inputType="number"
android:layout_width="fill_parent" android:hint="@string/account_setup_incoming_port_label"
android:contentDescription="@string/account_setup_incoming_port_label"/> android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
<TextView <com.google.android.material.textfield.TextInputLayout
android:text="@string/account_setup_incoming_username_label" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_marginTop="@dimen/account_setup_margin_between_items_incoming_and_outgoing">
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary"/>
<EditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/account_username" android:id="@+id/account_username"
android:singleLine="true" android:layout_width="match_parent"
android:inputType="textEmailAddress" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:inputType="textEmailAddress"
android:layout_width="fill_parent" android:hint="@string/account_setup_incoming_username_label"
android:contentDescription="@string/account_setup_incoming_username_label"/> android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
<TextView <TextView
android:id="@+id/account_auth_type_label" android:id="@+id/account_auth_type_label"
android:text="@string/account_setup_incoming_auth_type_label" android:text="@string/account_setup_incoming_auth_type_label"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:textAppearance="?android:attr/textAppearanceSmall" android:layout_marginTop="6dp"
android:textColor="?android:attr/textColorPrimary"/> style="@style/InputLabel"/>
<Spinner <Spinner
android:id="@+id/account_auth_type" android:id="@+id/account_auth_type"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:contentDescription="@string/account_setup_incoming_auth_type_label"/> android:contentDescription="@string/account_setup_incoming_auth_type_label"/>
<TextView <com.google.android.material.textfield.TextInputLayout
android:id="@+id/account_password_label" android:id="@+id/account_password_layout"
android:text="@string/account_setup_incoming_password_label" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_marginTop="@dimen/account_setup_margin_between_items_incoming_and_outgoing"
android:textAppearance="?android:attr/textAppearanceSmall" app:passwordToggleEnabled="true">
android:textColor="?android:attr/textColorPrimary"/>
<EditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/account_password" android:id="@+id/account_password"
android:inputType="textPassword" android:layout_width="match_parent"
android:singleLine="true" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:hint="@string/account_setup_incoming_password_label"
android:layout_width="fill_parent"/> android:singleLine="true"
android:inputType="textPassword"
android:nextFocusDown="@+id/next"/>
</com.google.android.material.textfield.TextInputLayout>
<TextView <TextView
android:id="@+id/account_client_certificate_label" android:id="@+id/account_client_certificate_label"
android:text="@string/account_setup_incoming_client_certificate_label" android:text="@string/account_setup_incoming_client_certificate_label"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:textAppearance="?android:attr/textAppearanceSmall" android:layout_marginTop="6dp"
android:textColor="?android:attr/textColorPrimary" style="@style/InputLabel"
android:visibility="gone"/> android:visibility="gone"
tools:visibility="visible"/>
<com.fsck.k9.view.ClientCertificateSpinner <com.fsck.k9.view.ClientCertificateSpinner
android:id="@+id/account_client_certificate_spinner" android:id="@+id/account_client_certificate_spinner"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:visibility="gone"/> android:visibility="gone"
tools:visibility="visible"/>
<LinearLayout <LinearLayout
android:id="@+id/imap_path_prefix_section" android:id="@+id/imap_path_prefix_section"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:orientation="vertical"> android:orientation="vertical">
<CheckBox <CheckBox
@ -135,23 +139,21 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:text="@string/account_setup_incoming_autodetect_namespace_label"/> android:text="@string/account_setup_incoming_autodetect_namespace_label"/>
<TextView <com.google.android.material.textfield.TextInputLayout
android:text="@string/account_setup_incoming_imap_path_prefix_label" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_width="fill_parent"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary"/>
<EditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/imap_path_prefix" android:id="@+id/imap_path_prefix"
android:singleLine="true" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:hint="@string/account_setup_incoming_imap_path_prefix_label"
android:contentDescription="@string/account_setup_incoming_imap_path_prefix_label"/> android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/imap_folder_setup_section" android:id="@+id/imap_folder_setup_section"
android:orientation="vertical"> android:orientation="vertical">
@ -166,14 +168,14 @@
<LinearLayout <LinearLayout
android:id="@+id/webdav_advanced_header" android:id="@+id/webdav_advanced_header"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:text="@string/advanced" android:text="@string/advanced"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary" android:textColor="?android:attr/textColorPrimary"
android:textStyle="bold" android:textStyle="bold"
@ -186,20 +188,17 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<TextView <com.google.android.material.textfield.TextInputLayout
android:text="@string/account_setup_incoming_webdav_mailbox_path_label" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:layout_width="fill_parent"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary"/>
<EditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/webdav_mailbox_path" android:id="@+id/webdav_mailbox_path"
android:hint="@string/account_setup_incoming_webdav_mailbox_path_hint" android:layout_width="match_parent"
android:singleLine="true" android:layout_height="wrap_content"
android:layout_height="wrap_content" android:hint="@string/account_setup_incoming_webdav_mailbox_path_label"
android:layout_width="fill_parent" android:singleLine="true" />
android:contentDescription="@string/account_setup_incoming_webdav_mailbox_path_label"/> </com.google.android.material.textfield.TextInputLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -208,20 +207,18 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<TextView <com.google.android.material.textfield.TextInputLayout
android:text="@string/account_setup_incoming_webdav_path_prefix_label" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_marginTop="@dimen/account_setup_margin_between_items_incoming_and_outgoing">
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary"/>
<EditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/webdav_path_prefix" android:id="@+id/webdav_path_prefix"
android:hint="@string/account_setup_incoming_webdav_path_prefix_hint" android:layout_width="match_parent"
android:singleLine="true"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:hint="@string/account_setup_incoming_webdav_path_prefix_label"
android:contentDescription="@string/account_setup_incoming_webdav_path_prefix_label"/> android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
@ -230,33 +227,31 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<TextView <com.google.android.material.textfield.TextInputLayout
android:text="@string/account_setup_incoming_webdav_auth_path_label" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_marginTop="@dimen/account_setup_margin_between_items_incoming_and_outgoing">
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorPrimary"/>
<EditText <com.google.android.material.textfield.TextInputEditText
android:id="@+id/webdav_auth_path" android:id="@+id/webdav_auth_path"
android:hint="@string/account_setup_incoming_webdav_auth_path_hint" android:layout_width="match_parent"
android:singleLine="true"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:hint="@string/account_setup_incoming_webdav_auth_path_label"
android:contentDescription="@string/account_setup_incoming_webdav_auth_path_label"/> android:singleLine="true" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout> </LinearLayout>
<TextView <TextView
android:id="@+id/compression_label" android:id="@+id/compression_label"
android:text="@string/account_setup_incoming_compression_label" android:text="@string/account_setup_incoming_compression_label"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:textAppearance="?android:attr/textAppearanceSmall" android:layout_marginTop="6dp"
android:textColor="?android:attr/textColorPrimary"/> style="@style/InputLabel"/>
<LinearLayout <LinearLayout
android:id="@+id/compression_section" android:id="@+id/compression_section"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
@ -285,7 +280,7 @@
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="0dip" android:layout_height="0dip"
android:layout_weight="1"/> android:layout_weight="1"/>
</LinearLayout> </LinearLayout>

View file

@ -3,4 +3,8 @@
<dimen name="button_minWidth">100sp</dimen> <dimen name="button_minWidth">100sp</dimen>
<dimen name="widget_padding">8dp</dimen> <dimen name="widget_padding">8dp</dimen>
<dimen name="highlight_radius">48dp</dimen> <dimen name="highlight_radius">48dp</dimen>
<dimen name="input_label_vertical_spacing">8dp</dimen>
<dimen name="input_label_horizontal_spacing">4dp</dimen>
<dimen name="account_setup_margin_between_items_incoming_and_outgoing">12dp</dimen>
</resources> </resources>

View file

@ -39,5 +39,13 @@
<item name="android:button">?attr/messageStar</item> <item name="android:button">?attr/messageStar</item>
</style> </style>
<style name="InputLabel" parent="TextAppearance.AppCompat.Caption">
<item name="android:paddingBottom">@dimen/input_label_vertical_spacing</item>
<item name="android:paddingLeft">@dimen/input_label_horizontal_spacing</item>
<item name="android:paddingRight">@dimen/input_label_horizontal_spacing</item>
<item name="android:textColor">?android:attr/textColorHint</item>
</style>
</resources> </resources>