Java Android:LinearLayoutWeight
我正在努力使我的布局更加统一。我的线性布局如下所示:Java Android:LinearLayoutWeight,java,android,android-layout,Java,Android,Android Layout,我正在努力使我的布局更加统一。我的线性布局如下所示: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/LinearLayout01" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fi
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:id="@+id/lblQuote"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:id="@+id/lblLikes"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"
android:text="27"/>
<ImageView
android:id="@+id/imgUp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/thumbsup"/>
<TextView
android:id="@+id/lblBuzzedTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"
android:text="Buzz Level:"/>
<TextView
android:id="@+id/lblShared"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"/>
<TextView
android:id="@+id/lblSaid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:id="@+id/lblHates"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"
android:text="14"/>
<ImageView
android:id="@+id/imgDown"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/thumbsdn"/>
<TextView
android:id="@+id/lblBuzzed"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"/>
<TextView
android:id="@+id/lblDate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"/>
<TextView
android:id="@+id/lblLocation"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:text=" "
android:textSize="1pt"
android:background="#6F7285"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
所以我换成了这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TextView
android:id="@+id/lblQuote"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="8">
<TextView
android:id="@+id/lblLikes"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="1"
android:textSize="4pt"
android:text="27"/>
<ImageView
android:id="@+id/imgUp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="1"
android:src="@drawable/thumbsup"/>
<TextView
android:id="@+id/lblBuzzedTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="2"
android:textSize="4pt"
android:text="Buzz Level:"/>
<TextView
android:id="@+id/lblShared"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="2"
android:textSize="4pt"/>
<TextView
android:id="@+id/lblSaid"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="2"
android:textSize="4pt"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="8">
<TextView
android:id="@+id/lblHates"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="1"
android:textSize="4pt"
android:text="14"/>
<ImageView
android:id="@+id/imgDown"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="1"
android:src="@drawable/thumbsdn"/>
<TextView
android:id="@+id/lblBuzzed"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="2"
android:textSize="4pt"/>
<TextView
android:id="@+id/lblDate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="2"
android:textSize="4pt"/>
<TextView
android:id="@+id/lblLocation"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="2"
android:textSize="4pt"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TextView
android:text=" "
android:textSize="1pt"
android:background="#6F7285"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
完成此操作后,我的布局在模拟器中变为空白。请告知。我不想切换到相对布局,我只想知道我在这段代码中犯了什么错误。谢谢
#
2011年6月3日编辑:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/lblQuote"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Filler Text"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="left">
<ImageView
android:id="@+id/imgUp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/thumbsup"
android:layout_gravity="left"/>
<TextView
android:id="@+id/lblLikes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"
android:text="10"
android:layout_gravity="left"/>
<TextView
android:id="@+id/lblBuzzedTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textSize="4pt"
android:text="Buzz Level:"/>
<TextView
android:id="@+id/lblShared"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Shared By: Filler Name"
android:textSize="4pt"/>
<TextView
android:id="@+id/lblSaid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="Said By: Filler Name"
android:textSize="4pt"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="left">
<ImageView
android:id="@+id/imgDown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/thumbsdn"
android:layout_gravity="left"/>
<TextView
android:id="@+id/lblHates"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="4pt"
android:text="2"
android:layout_gravity="left"/>
<TextView
android:id="@+id/lblBuzzed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:text="High"
android:textSize="4pt"/>
<TextView
android:id="@+id/lblDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textSize="4pt"
android:text="04/04/1987 4:32 PM"/>
<TextView
android:id="@+id/lblLocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:textSize="4pt"
android:text="Broomfield, CO"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="1">
<TextView
android:text=" "
android:textSize="1pt"
android:background="#6F7285"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
在第二个版本中,第一个嵌套线性布局的布局高度为填充高度。这会将其他所有内容从屏幕上推下。无论何时,当您看到自己在宽度和高度上都使用“填充父对象”时,使用“布局权重”,您就知道自己做错了什么 你到底想完成什么
顺便说一句,你不需要像现在这样使用weightSum。如果未指定,它将自动汇总所有子视图的布局权重值。它的主要用途是仅分配总可用额外空间的一小部分。在第二个版本中,第一个嵌套线性布局的布局高度为“填充”。这会将其他所有内容从屏幕上推下。无论何时,当您看到自己在宽度和高度上都使用“填充父对象”时,使用“布局权重”,您就知道自己做错了什么 你到底想完成什么
顺便说一句,你不需要像现在这样使用weightSum。如果未指定,它将自动汇总所有子视图的布局权重值。它的主要用途是只分配总可用空间的一小部分。快速扫描告诉我它看起来是一样的吗?变化在哪里?快速扫描告诉我它看起来是一样的?更改在哪里?为了补充Ted的回答,为什么您要将
版面宽度设置为0dp
?因此我在所有线性版面上用换行内容替换了填充父项。同样的结果也会出现。我感谢你到目前为止的迅速反应。谢谢你的帮助。我发现这个工具对诊断这类问题很有用。(我宁愿给你一个解决方案,也不愿给你建议,但我已经半睡半睡了,正准备睡觉。)阿尼尔凡:谢谢你的提示。用wrap_内容替换宽度成功了。这几乎完全解决了我的问题。我现在最希望的是前两列始终对齐。所以lblHates和Lblikes要对齐,imgHates和imgLikes要对齐。现在他们正在四处走动。请提供建议。您是否可以更新您的帖子,并包括它的外观、您希望它的外观以及现在的xml的图像?而且,我在你的布局中没有看到imgHates和imgLikes;你指的是imgDown和imgUp吗?另外,为了补充Ted的回答,你为什么要将版面宽度设置为0dp
?所以我在所有线性版面上用wrap\u内容替换了fill\u parent。同样的结果也会出现。我感谢你到目前为止的迅速反应。谢谢你的帮助。我发现这个工具对诊断这类问题很有用。(我宁愿给你一个解决方案,也不愿给你建议,但我已经半睡半睡了,正准备睡觉。)阿尼尔凡:谢谢你的提示。用wrap_内容替换宽度成功了。这几乎完全解决了我的问题。我现在最希望的是前两列始终对齐。所以lblHates和Lblikes要对齐,imgHates和imgLikes要对齐。现在他们正在四处走动。请提供建议。您是否可以更新您的帖子,并包括它的外观、您希望它的外观以及现在的xml的图像?而且,我在你的布局中没有看到imgHates和imgLikes;你是说伊姆格敦和伊姆古普吗?