警报对话框中的 TextView 未居中或未格式化
Posted
技术标签:
【中文标题】警报对话框中的 TextView 未居中或未格式化【英文标题】:TextView in alert dialog is not centered or formatted 【发布时间】:2017-10-31 22:21:41 【问题描述】:我想显示一个带有文本消息的弹出对话框,但格式不起作用。 我希望它位于弹出窗口的中心并具有特定字体,但两者均未应用。 我的代码:
AlertDialog dialog = new AlertDialog.Builder(context).create();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
View view = LayoutInflater.from(mContext).inflate(R.layout.my_view, null);
dialog.setView(view);
TextView messageView = (TextView) view.findViewById(R.id.message);
messageView.setTextIsSelectable(true);
messageView.setText("This is the message to show");
dialog.show();
还有布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="center_horizontal"
android:background="@color/red"
android:layout_
android:layout_>
<TextView
android:id="@+id/message"
android:layout_
android:layout_
android:fontFamily="sans-serif"
android:textSize="14sp"/>
</LinearLayout>
这里有什么问题?
【问题讨论】:
textview的重力怎么样? @AmitVaghela:我也尝试了重力和布局重心。不工作 请检查我的回答,如有任何疑问,请询问我 检查我的更新和我的朋友 你得到答案了吗...? 【参考方案1】: <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="center_horizontal"
android:background="@color/colorPrimary"
android:layout_
android:gravity="center"
android:layout_>
<TextView
android:id="@+id/message"
android:text="asasasasas"
android:gravity="center"
android:layout_
android:layout_
android:fontFamily="sans-serif"
android:textSize="14sp"/>
</LinearLayout>
【讨论】:
【参考方案2】:<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="center_horizontal"
android:background="@color/red"
android:layout_
android:layout_>
<TextView
android:id="@+id/message"
android:layout_
android:layout_
android:fontFamily="sans-serif"
android:text="This is the message to show"
android:textAlignment="center"
android:textAllCaps="false"
android:textSize="14sp" />
</RelativeLayout>
试试这个。希望这能解决您的问题。
【讨论】:
【参考方案3】:创建布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:gravity="center"
android:background="@color/red"
android:orientation="vertical">
<TextView
android:id="@+id/message"
android:layout_
android:layout_
android:gravity="center"
android:textSize="14sp" />
</LinearLayout>
创建对话框
AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).create();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
View view1 = LayoutInflater.from(MainActivity.this).inflate(R.layout.custom, null);
dialog.setView(view1);
TextView messageView = (TextView) view1.findViewById(R.id.message);
messageView.setTextIsSelectable(true);
messageView.setText("the is text demo my friend");
dialog.show();
【讨论】:
这也不起作用。此外,您正在使用标题并设置 2 个布局。我不关注这个以上是关于警报对话框中的 TextView 未居中或未格式化的主要内容,如果未能解决你的问题,请参考以下文章
如何摆脱 AlertDialog 中的矩形 TextView?
Vue.js - this.$refs.key 返回一个空数组或未定义而不是元素