Android API 23 上未显示 EditText 视图
Posted
技术标签:
【中文标题】Android API 23 上未显示 EditText 视图【英文标题】:EditText Views not showing up on Android API 23 【发布时间】:2016-08-15 12:55:29 【问题描述】:我对 android 还很陌生,如果这是一个简单的解决方法,我深表歉意..
我最近将我的 AVD 升级到 API 23,并注意到我的应用程序发生了一些奇怪的变化,不幸的是使它变得无用。
简而言之,我的登录屏幕上的按钮和注册屏幕上的EditText
视图都消失了。我没有更改任何代码,只是升级了 API。当我在三星 Galaxy S3 上测试该应用时,该应用的外观和行为仍符合预期。
下面是更新后我的EditText
字段的截图:
这是我的注册活动布局文件:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:fillViewport="true">
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
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="coursematch.coursematch.Classes.RegisterActivity">
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Back"
android:id="@+id/backButton2"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:onClick="backToLanding"/>
<TextView
android:typeface="serif"
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Register"
android:id="@+id/welcomeNameTextView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:shadowColor="#111111" />
<LinearLayout
android:orientation="vertical"
android:layout_
android:layout_
android:layout_below="@+id/welcomeNameTextView"
android:layout_centerHorizontal="true"
android:weightSum="1"
android:id="@+id/linearLayout">
<android.support.v4.widget.Space
android:layout_
android:layout_
android:id="@+id/view"
android:layout_gravity="center_horizontal"
android:layout_weight="0.17" />
<ImageView
android:layout_
android:layout_
android:id="@+id/imageView"
android:layout_gravity="center_horizontal"
android:layout_weight="0.17"
android:src="@drawable/mortarboardone" />
<android.support.v4.widget.Space
android:layout_
android:layout_
android:id="@+id/view2"
android:layout_gravity="center_horizontal"
android:layout_weight="0.17" />
<TextView
android:typeface="serif"
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="First Name"
android:id="@+id/textView2"
android:layout_weight="0.07" />
<EditText
android:singleLine="true"
android:layout_
android:layout_
android:id="@+id/firstNameTextField" />
<TextView
android:typeface="serif"
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Last Name"
android:id="@+id/textView3"
android:layout_weight="0.17"
android:shadowColor="#000000" />
<EditText
android:singleLine="true"
android:layout_
android:layout_
android:id="@+id/lastNameTextField"
android:layout_gravity="center_horizontal" />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Username (Must be unique, eg JoeBloggsQESchool)"
android:id="@+id/textView4"
android:layout_below="@+id/linearLayout"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:singleLine="true"
android:layout_
android:layout_
android:id="@+id/usernameTextField"
android:layout_gravity="center_horizontal"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Email"
android:id="@+id/textView5" />
<EditText
android:singleLine="true"
android:layout_
android:layout_
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/emailTextField" />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Set Password"
android:id="@+id/textView6" />
<EditText
android:singleLine="true"
android:layout_
android:layout_
android:inputType="textPassword"
android:ems="10"
android:id="@+id/passwordTextField" />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Confirm Password"
android:id="@+id/textView7" />
<EditText
android:singleLine="true"
android:layout_
android:layout_
android:inputType="textPassword"
android:ems="10"
android:id="@+id/confirmPasswordTextField" />
<Space
android:layout_
android:layout_ />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Passwords must be over 8 characters long, and contain at least one of the following:"
android:id="@+id/textView8" />
<Space
android:layout_
android:layout_ />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="- Upper Case Letter"
android:id="@+id/textView9" />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="- Lower Case Letter"
android:id="@+id/textView10" />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="- Number OR Symbol"
android:id="@+id/textView11" />
<Space
android:layout_
android:layout_ />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Eg: FidoTheDog1"
android:id="@+id/textView12" />
<Space
android:layout_
android:layout_ />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Continue"
android:id="@+id/textView13"
android:layout_below="@+id/linearLayout"
android:layout_centerHorizontal="true"
android:onClick="toNextTier"
android:layout_gravity="center_horizontal" />
<Space
android:layout_
android:layout_ />
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceMedium"
android:text=""
android:id="@+id/regErrorView"
android:layout_gravity="center_horizontal"
android:textColor="#ff0000"
android:textAlignment="center" />
</LinearLayout>
</RelativeLayout>
</ScrollView>
对于为什么会发生这种情况的任何帮助将不胜感激,如果这是一件小事,再次道歉。
谢谢
【问题讨论】:
更改textColor
。有时,如果制造商将 android 系统更新到下一个级别,他们还会更改默认设置,例如视图的 textcolor。很久以前就被这个绊倒了……在这种情况下,有可能颜色刚刚变黑了……
你用的是哪个appTheme?
@Shaishav AppTheme.NoActionBar
什么是父主题?
@Shaishav Theme.AppCompat.Light.DarkActionBar
【参考方案1】:
我的朋友,
有时这个 fillViewport 会出现问题(尽管从根本上说是填充整个视口).. 因此您可以安全地从 ScrollView 标记中删除..
我曾经遇到过这个问题,我的应用在棒棒糖下运行良好,但在 mashmallow 中运行不佳
【讨论】:
以上是关于Android API 23 上未显示 EditText 视图的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio 3.0.1 上未显示新的 Flutter 项目向导
安卓出现错误: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditT