android - 模拟器预览中显示但设备中不显示的文本
问题描述
我已经添加了一个文本和其他视图,并且在预览部分它们按原样显示,但是当我在模拟器或实际设备上运行应用程序时,文本似乎丢失了。我在这里的解决方案中发现了同样的问题,但没有解决我的问题。为了更清楚,我将在下面附上照片。
我试过如下:
MyBoldTextView 类
public class MyBoldTextView extends TextView {
public MyBoldTextView(Context context) {
super(context);
applyCustomFont(context);
}
public MyBoldTextView(Context context, AttributeSet attrs) {
super(context, attrs);
applyCustomFont(context);
}
public MyBoldTextView(Context context, AttributeSet attrs, int
defStyleAttr) {
super(context, attrs, defStyleAttr);
applyCustomFont(context);
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public MyBoldTextView(Context context, AttributeSet attrs, int
defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
applyCustomFont(context);
}
private void applyCustomFont(Context context) {
Typeface customFont = FontCache.getTypeface("fonts/ClanPro-
NarrNews.otf", context);
setTypeface(customFont);
}
}
MyBoldTextView 实现
MyBoldTextView changePasswordTxt;
changePasswordTxt = (MyBoldTextView) findViewById(R.id.changePasswordTxt);
我的 XML 布局
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark"
android:orientation="vertical">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/_15sdp"
android:layout_marginRight="@dimen/_15sdp"
android:layout_marginTop="100dp"
android:background="@drawable/corner_radius"
android:elevation="4dp"
android:orientation="vertical"
android:paddingTop="@dimen/_75sdp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/_5sdp"
android:backgroundTint="@color/text_color_white"
android:elevation="@dimen/_10sdp"
android:translationZ="@dimen/_4sdp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:padding="@dimen/_5sdp">
<com.aayocab.app.Utils.MyBoldTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/first_name"
android:textColor="@color/black_text_color"
android:textSize="16sp" />
<com.aayocab.app.Utils.MyEditText
android:id="@+id/first_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:imeOptions="actionDone"
android:inputType="textCapWords"
android:maxLines="1"
android:textAlignment="viewStart"
android:textColor="@color/black_text_color"
android:textSize="14sp" />
</LinearLayout>
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@android:color/darker_gray" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:padding="@dimen/_5sdp">
<com.aayocab.app.Utils.MyBoldTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/last_name"
android:textColor="@color/black_text_color"
android:textSize="16sp" />
<com.aayocab.app.Utils.MyEditText
android:id="@+id/last_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:imeOptions="actionDone"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textAlignment="viewStart"
android:textColor="@color/black_text_color"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/_5sdp"
android:backgroundTint="@color/text_color_white"
android:elevation="@dimen/_10sdp"
android:translationZ="@dimen/_4sdp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/_5sdp">
<com.aayocab.app.Utils.MyBoldTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/phone_number"
android:textColor="@color/black_text_color"
android:textSize="16sp" />
<com.aayocab.app.Utils.MyEditText
android:id="@+id/mobile_no"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:imeOptions="actionDone"
android:inputType="phone"
android:maxLines="1"
android:textAlignment="viewStart"
android:textColor="@color/black_text_color"
android:textSize="14sp" />
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/_5sdp"
android:backgroundTint="@color/text_color_white"
android:elevation="@dimen/_10sdp"
android:translationZ="@dimen/_4sdp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:orientation="vertical">
<com.aayocab.app.Utils.MyBoldTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/email"
android:textColor="@color/black_text_color"
android:textSize="16sp" />
<com.aayocab.app.Utils.MyEditText
android:id="@+id/email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@null"
android:enabled="false"
android:imeOptions="actionNext"
android:inputType="textEmailAddress"
android:maxLines="1"
android:textAlignment="viewStart"
android:textColor="@color/black_text_color"
android:textSize="14sp" />
</LinearLayout>
</android.support.v7.widget.CardView>
<com.aayocab.app.Utils.MyButton
android:id="@+id/saveBTN"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/_5sdp"
android:layout_marginTop="@dimen/_10sdp"
android:background="@drawable/ripple"
android:text="@string/save"
android:textColor="@android:color/white"
android:textSize="@dimen/_18sdp" />
<com.aayocab.app.Utils.MyBoldTextView
android:id="@+id/changePasswordTxt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_10sdp"
android:layout_gravity="center"
android:text="@string/change_password"
android:textColor="@color/colorPrimaryDark"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/img_profile"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_below="@+id/login_title"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/_15sdp"
android:background="@drawable/circle_image"
android:elevation="4dp"
android:padding="12dp"
android:src="@drawable/ic_dummy_user" />
</RelativeLayout>
文本想要更改密码?显示在预览中,但未显示在实际设备中
解决方案
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_15sdp"
android:layout_marginRight="@dimen/_15sdp"
android:layout_marginTop="100dp"
android:background="@drawable/corner_radius"
android:elevation="4dp"
android:orientation="vertical"
android:paddingTop="@dimen/_75sdp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
只是使用android:layout_height="wrap_content"
而不是android:layout_height="match_parent"
希望它能正常工作
推荐阅读
- image-processing - Python / Cython 优化(3D 内核过滤器)
- python - 列出来自 functool 部分的装饰器方法
- python - 使用 pandas 函数的方法链接
- laravel - Laravel BackPack 翻译行
- google-cloud-platform - 重命名应用程序/站点以及如何在 Google 登录中更改名称
- security - 如何在 Google Cloud Platform 上监控用户对 Firestore 数据库的访问
- verilog - 使用 Verilog 中的参数获取错误
- mysql - 通过使用 u_d_functions、存储过程等简化具有大量 coalesce(sum()) 的 mysql 视图的查询
- c# - 字符串的正则表达式以数字开头,后跟 + 字符
- list - 在 Microsoft Infopath 中传递查找值