我试图了解Android布局的工作原理。如果我创建一个简单的线性布局并添加一些文本字段,并将线性布局的宽度设置为wrap_content,我注意到在更改文本字段的宽度时会产生异常的效果。如果文本字段的宽度为wrap_content,则文本字段的大小与预期的一样(文本的宽度)。但是,如果我将文本字段的宽度设置为match_parent,则文本字段的大小将增大为设备屏幕的宽度。我希望文本视图的大小是文本的宽度,而不是屏幕显示的大小。
换句话说,如果父布局的宽度是wrap_content并且子视图的宽度是wrap_content,那么子视图的宽度似乎会增长为设备屏幕的宽度,即与设置相同父视图的宽度为match_parent。有人可以解释为什么会发生这种情况,因为这对我来说似乎很直观。
这是一些简单的代码来说明我在说什么。将Kunal文本视图的宽度从wrap_content更改为match_parent。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/darker_gray">
<TextView
android:text="VIP List"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#4CAF50"
android:textSize="24sp" />
<TextView
android:text="Kunal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#4CAF50"
android:textSize="24sp" />
<TextView
android:text="Kagure"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#4CAF50"
android:textSize="24sp" />
<TextView
android:text="Lyla"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#4CAF50"
android:textSize="24sp" />
</LinearLayout>
答案 0 :(得分:0)
制作这个。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/darker_gray">
你会看到&#34; kunal&#34;和&#34; kagure&#34;占据所有屏幕的宽度 但是&#34;贵宾名单&#34;和&#34; lyla&#34;得到它所需的宽度。