自定义Dialog的视图宽度设置能match_parent不管用
老师您好,我自定义一个多选的dialog,显示出来的dialog还会很小,所有的控件都会很挤,宽度设置成match—parent也不管用
正在回答 回答被采纳积分+1
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_marginBottom="20dp"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher_round" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="爱好选择" />
</LinearLayout>
<CheckBox
android:id="@+id/cb_one"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="健身" />
<CheckBox
android:id="@+id/cb_two"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="电影" />
<CheckBox
android:id="@+id/cb_three"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Game" />
<TextView
android:id="@+id/tv_sure"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginRight="30dp"
android:text="确定" />
</LinearLayout>
你要是用match_parent,就让第二层宽度都是match_parent就能显示全了,TextView模拟器能显示真机不显示吗?另外如果只想设置带图标的,你可以使用AlertDialog不用自定义对话框也可以,其builder的setIcon()可以设置图标。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:orientation="horizontal"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@mipmap/ic_launcher_round" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:text="爱好选择" /> </LinearLayout> <CheckBox android:id="@+id/cb_one" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="健身" /> <CheckBox android:id="@+id/cb_two" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="电影" /> <CheckBox android:id="@+id/cb_three" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Game" /> <TextView android:id="@+id/tv_sure" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginRight="30dp" android:text="确定" /> </LinearLayout>
最后在真机上测试是就是这样了
java代码就是在设置了setContentView,将这个布局加载进去
===============================================================
您看我布局可视化界面中是这样的
根布局的LinearLayout宽度设置成了wrap_content
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="match_parent" android:orientation="vertical">
下面这个线性布局就是一个水平排放的控件
<LinearLayout android:orientation="horizontal" android:layout_marginBottom="20dp" android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageView android:src="@mipmap/ic_launcher_round" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="性别选择" android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
然后在真机上运行的话就会出现Textview不显示的效果
这个是项目作业中最后一条多选对话框的实现,课程上是一个星星图片加一个Textview设置的Dialog的标题栏,所以我想用自定义dialog。
- 参与学习 504 人
- 提交作业 1003 份
- 解答问题 1044 个
本专题是专为有Java语言基础想入坑Android开发的同学们准备的。从AndroidUI基础一直到网络,数据存储,一步到位入门Android开发。如果你会Java,那就不要犹豫了~ ~
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星