人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述将android EditText样式从矩形边框更改为下划线相关的知识,希望能为你提供帮助。
在我的一个活动中,我的EditText视图过去看起来像这样
但现在他们看起来像这样
我需要帮助改变它:从矩形到下划线。
背景
因为我需要创建一个自定义ActionBar,所以我必须使用以下内容更改相关活动的主题YesterdayActivity
样式:
<
style name="CustomWindowTitleBackground">
<
item name="android:background">
#323331<
/item>
<
/style>
<
style name="CustomTheme" parent="android:Theme">
<
item name="android:windowTitleSize">
40dip<
/item>
<
item name="android:windowTitleBackgroundStyle">
@style/CustomWindowTitleBackground<
/item>
<
/style>
表现:
<
activity
android:name="com.example.YesterdayActivity"
android:theme="@style/CustomTheme">
<
/activity>
的onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_yesterday);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.yesterday_title_bar);
…
}
答案像这样更改您的自定义主题
<
style name="CustomTheme" parent="android:Theme.Holo.NoActionBar">
因为你没有使用旧的android主题而不是
HoLo
哪个有点editTextView
在较新版本的Android中,只要选择了Holo主题,框架就会使用
Window.FEATURE_ACTION_BAR
功能。只要应用程序调用setFeatureInt(Window.FEATURE_CUSTOM_TITLE)
并且已经设置了FEATURE_ACTION_BAR
,框架就会抛出异常。它崩溃了,因为Holo默认使用ActionBar。修复很简单。使用Holo时关闭ActionBar另一答案从你的风格中删除这一行
<
item name="android:background">
#323331<
/item>
因为它是反映行为的背景属性。
另一答案有两种方法可以实现这一目标。第一种方法是通过更改应用程序的主题
第一种方法:
AndroidManifest.xml中
见android:theme
<
application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
...
...
<
/application>
RES /值/ style.xml
Theme.AppCompat.Light.DarkActionBar使用带下划线的EditText
<
style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<
!-- Customize your theme here. -->
<
item name="colorPrimary">
@color/colorPrimary<
/item>
<
item name="colorPrimaryDark">
@color/colorPrimaryDark<
/item>
<
item name="colorAccent">
@color/colorAccent<
/item>
<
/style>
只需以相同的方式使用EditText即可
<
EditText
android:layout_width="match_parent"
android:layout_height="48dp"
android:hint="Email Address"
android:inputType="textMultiLine"
android:textSize="16dp" />
第二种方法:
使用底部笔划创建可绘制的形状,并将其设置为EditText的背景
创建一个名为res / drawable / stroked_edittext_bg.xml的可绘制文件,如下所示:
How To Create An Android Shape With Bottom Stroke
<
EditText
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/stroked_edittext_bg"
android:hint="Email Address"
android:inputType="textMultiLine"
android:textSize="16dp" />
另一答案如果你改变editText的主题,它可以实现。
<
EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:text="Name"
android:theme="@android:style/Theme.Holo"
android:ems="10"
android:id="@+id/editText"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
另一答案
<
item name="android:windowTitleBackgroundStyle">
@style/CustomWindowTitleBackground<
/item>
将其更改为默认样式。或者从代码中删除此行。
【将android EditText样式从矩形边框更改为下划线】导致您共享的第一个图像是默认的Edittext背景。
推荐阅读
- 隐藏Android Action Bar解决方案
- 在Theme.AppCompat.Light中添加图标
- 如何在Android上将带有文本的向上操作图标更改为按钮()
- 没有ActionBar的Android Activity
- Windows系统高级选项选单变成英文
- 双击快捷方式以后系统一些也没有了
- 系统为啥无法运行任何应用程序呢
- 啥原因会导致系统的图标显示异常
- 我们看看:系统无法显示缩略图技巧