Android 如何在TextInputLayout中设置EditText小部件的样式
刚刚开始设计应用程序的样式和主题 我在Android 如何在TextInputLayout中设置EditText小部件的样式,android,user-interface,Android,User Interface,刚刚开始设计应用程序的样式和主题 我在AppCompatActivity中的TextInputLayouts中有许多EditTexts 我的问题是: 不确定EditText小部件中的哪一行(上面的蓝线)被调用,只是将其称为“标尺”。如何使标尺(上面看不见)可见,并使用任何自定义颜色。目前,标尺仅在点击EditText时显示 EditText光标不显示,如何使其可见 如何自定义上面的“添加”按钮的背景颜色和文本颜色 最初如何将焦点设置为第一个EditText TextInputLayout的提
AppCompatActivity
中的TextInputLayout
s中有许多EditText
s
我的问题是:
- 不确定
小部件中的哪一行(上面的蓝线)被调用,只是将其称为“标尺”。如何使标尺(上面看不见)可见,并使用任何自定义颜色。目前,标尺仅在点击EditText
时显示李>EditText
光标不显示,如何使其可见EditText
- 如何自定义上面的“添加”按钮的背景颜色和文本颜色
- 最初如何将焦点设置为第一个
EditText
的提示颜色缩小并飞到顶部后如何更改?(现在是蓝色的。)TextInputLayout
- 默认的Android字体是Roboto吗?我怎样才能将字体更改为“真正快速”的任何可用字体李>
布局
文件
<TextView
android:id="@+id/pocLabel"
style="@style/DialogLabelColor"
android:text="Business Owner"/>
<android.support.design.widget.TextInputLayout
android:id="@+id/tilPOCFName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pocLabel">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/POCFName"
style="@style/InputDialogText"
android:hint="First name (REQUIRED)"
android:inputType="textCapWords"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/tilPOCLName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tilPOCFName"
android:textColor="#000000">
<EditText
android:id="@+id/POCLName"
style="@style/InputDialogText"
android:hint="Last name"
android:inputType="textCapWords"/>
</android.support.design.widget.TextInputLayout>
colors.xml
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here
-->
</style>
<style name="activated" parent="AppBaseTheme"></style>
<!-- Application theme -->
<style name="MyThemeNavy" parent="Theme.AppCompat.NoActionBar">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="windowActionBar">false</item>
<item name="android:windowActionBar">false</item>
<item name="android:colorPrimary">@color/primaryColor</item>
<item name="android:colorPrimaryDark">@color/primaryColorDark</item>
<item name="android:colorAccent">@color/accentColor</item>
<item name="android:textColor">@color/main_list_text_color</item>
<item name="android:textColorHint">@color/main_list_text_color</item>
<item name="drawerArrowStyle">@style/Widget.AppCompat.DrawerArrowToggle</item>
</style>
<style name="Base.Widget.AppCompat.DrawerArrowToggle." parent="Base.Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">#FFF</item>
</style>
<style name="InfoDlgTextLHS" parent="AppBaseTheme">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">@color/main_list_text_color</item>
</style>
<style name="InputDialogText" parent="MyThemeNavy">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
<item name="android:textStyle">normal</item>
<item name="android:textColor">@color/main_list_text_color</item>
</style>
<style name="InfoDlgTextRHS" parent="AppBaseTheme">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/main_list_text_color</item>
</style>
<style name="DialogLabelColor" parent="MyThemeNavy">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_margin">4dp</item>
<item name="android:padding">10dp</item>
<item name="android:background">@drawable/dialog_label_background</item>
<item name="android:textColor">@color/main_list_text_color_inverse</item>
<item name="android:textStyle">bold</item>
</style>
<style name="MyThemeNavy.Dialogs" parent="MyThemeNavy">
<item name="android:textColor">@color/main_list_text_color</item>
<item name="android:textColorHint">@color/main_list_text_color</item>
</style>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primaryColor">#006989</color>
<color name="primaryColorDark">#FFFFFF</color>
<color name="accentColor">#FFFFFF</color>
<color name="colorBackground">#B1C1C0</color>
<!-- Drawer -->
<color name="mainDrawerBackground">#564639</color>
<!-- Main (non-drawer) lists -->
<color name="commonMainListsBackground">#FFFFFF</color>
<color name="main_list_text_color">#000000</color>
<color name="list_item_pressed_color">#CADAFF</color>
<color name="list_item_color">#FFFFFF</color>
<color name="drawer_list_item_pressed_color">#E4FDE1</color>
<color name="drawer_list_item_color">@color/mainDrawerBackground</color>
<color name="divider_color">#DFF8EB</color>
<!-- Counters -->
<color name="distance_counter_color">#FE5F55</color>
<color name="deals_counter_color">#388659</color>
<!-- Information dialog -->
<color name="info_content_color">#FFFFFF</color>
<color name="primary_material_dark">#9e9e9e</color>
<color name="primary_dark_material_dark">#cad7ff</color>
<color name="accent_material_dark">#3469ff</color>
<color name="background_material_dark">#344055</color>
<color name="foreground_material_dark">#ffffff</color>
<color name="colorPrimaryDark">#044389</color>
<!-- Input dialogs -->
<color name="input_dialog_backgroud">#6DAEDB</color>
<color name="main_list_text_color_inverse">#FFFFFF</color>
<activity
android:name=".xxx.xxxCRUActivity"
android:label="@string/title_activity_add"
android:theme="@style/MyThemeNavy.Dialogs">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
谢谢大家! 关于您的
文本输入布局
,为其创建一个样式
<style name="InputLayout" parent="TextAppearance.AppCompat">
<item name="android:textSize">18sp</item>
<item name="android:textColor">@color/white</item>
<item name="android:textColorHint">@color/grey</item>
<item name="colorAccent">@color/grey</item>
<item name="colorControlNormal">@color/grey</item>
<item name="colorControlActivated">@color/green</item>
</style>
如果要更改文本输入布局的Hiint颜色,请更改color.xml文件中colorAccent的颜色。将完整的style.xml、color.xml和layoutfile张贴在此处。谢谢@ChiragSavsani。发布了完整的
颜色
和样式
XML。我的版面文件太大了,不适合这篇文章。谢谢,@Niels Masdorp。但是,在使用您的建议时,出现了一个异常:原因:java.lang.UnsupportedOperationException:无法在android.content.res.TypedArray.getColor(TypedArray.java:327)上转换为color:type=0x2
不确定原因。在清单中,我的活动使用自定义主题(上面的代码)。这个错误是因为那个吗?我的错误,上面的例外。小部件是EditText
而不是appcompatieditText
+1。根据您的建议,@Niels Masdorp:hint color样式有效。但是,不确定colorControl
属性在做什么。它们是给尺子的吗?From:@null
有效!我确信还有更多的属性,这些只是我曾经使用过的属性。很高兴能帮忙!也许把你的问题分开,以便更好地回答其他问题?不过我以后可能会看一看。
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/InputLayout">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint" />
</android.support.design.widget.TextInputLayout>