我正在尝试为我的应用建立一个羽毛球场布局。
经过一些实验后,我得到了一个漂亮的样子(field.xml见下文)。
我知道这可能不是创建羽毛球场布局的最佳方式,但从现在起我没有找到更好的解决方案。如果有人对如何建立这个领域有更好的了解,我将不胜感激。
主要问题是,我想将文本添加到某些文本文件中。只要我在字段中添加文字,我的布局就会被破坏:broken layout.png
当我从这些文本元素中删除layout_width属性:wrap_content时,UI编辑器会正确显示它:wanted layout.png。
但是由于缺少layout_width属性,应用程序将不会在我的设备上加载此布局。
如何在不损坏布局的情况下向字段添加文本的任何想法?
field.xml:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row1"
style="@style/topborder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:orientation="horizontal" >
<TextView
android:id="@+id/field11"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal" />
<TextView
android:id="@+id/field12"
style="@style/rightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:gravity="center"
android:text="Team 1" />
<TextView
android:id="@+id/field13"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field14"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row2"
style="@style/bottomborder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:orientation="horizontal" >
<TextView
android:id="@+id/field21"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field22"
style="@style/rightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:gravity="center"
android:text="21"
android:textSize="50dp" />
<TextView
android:id="@+id/field23"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field24"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row3"
style="@style/bottomborder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:orientation="horizontal" >
<TextView
android:id="@+id/field31"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field32"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="2"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field33"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row4"
style="@style/bottomborder"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.3"
android:orientation="horizontal" >
<TextView
android:id="@+id/field41"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field42"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="2"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field43"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/row5"
android:layout_height="wrap_content"
android:layout_weight="0.7"
android:orientation="horizontal" >
<TextView
android:id="@+id/field51"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field52"
style="@style/rightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field53"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:gravity="center"
android:text="10"
android:textSize="50dp" />
<TextView
android:id="@+id/field54"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/bottomborder"
android:id="@+id/row6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:orientation="horizontal" >
<TextView
android:id="@+id/field61"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field62"
style="@style/rightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field63"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#000000"
android:gravity="center"
android:text="Team 2" />
<TextView
android:id="@+id/field64"
style="@style/leftrightborder"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="0.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
答案 0 :(得分:0)
正如this post中提到的,我刚刚发现,我只需要在每个文本视图上设置layout_width:0dp。不是它工作正常!
答案 1 :(得分:0)
在您的布局layout_weight
中,值不正确。如果一行应使用0.1的屏幕,第二行应使用0.9的屏幕。然后,您将第一行的layout_weight
设置为0.9,将第二行的layout_weight
设置为0.1。
这是具有正确权重的布局:
<LinearLayout
android:id="@+id/row1"
style="@style/topborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.1"
android:orientation="horizontal" >
<TextView
android:id="@+id/field11"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal" />
<TextView
android:id="@+id/field12"
style="@style/rightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.6"
android:background="#000000"
android:gravity="center"
android:text="Team 1" />
<TextView
android:id="@+id/field13"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.6"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field14"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
android:id="@+id/row2"
style="@style/bottomborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.5"
android:orientation="horizontal" >
<TextView
android:id="@+id/field21"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field22"
style="@style/rightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.6"
android:background="#000000"
android:gravity="center"
android:text="21"
android:textSize="50dp" />
<TextView
android:id="@+id/field23"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field24"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.6"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
android:id="@+id/row3"
style="@style/bottomborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.9"
android:orientation="horizontal" >
<TextView
android:id="@+id/field31"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field32"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.6"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field33"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
android:id="@+id/row4"
style="@style/bottomborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.9"
android:orientation="horizontal" >
<TextView
android:id="@+id/field41"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field42"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="0.6"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field43"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
android:id="@+id/row5"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.5"
android:orientation="horizontal" >
<TextView
android:id="@+id/field51"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field52"
style="@style/rightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.6"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field53"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.6"
android:background="#000000"
android:gravity="center"
android:text="10"
android:textSize="50dp" />
<TextView
android:id="@+id/field54"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
<LinearLayout
android:id="@+id/row6"
style="@style/bottomborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.1"
android:orientation="horizontal" >
<TextView
android:id="@+id/field61"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field62"
style="@style/rightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.6"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
<TextView
android:id="@+id/field63"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.6"
android:background="#000000"
android:gravity="center"
android:text="Team 2" />
<TextView
android:id="@+id/field64"
style="@style/leftrightborder"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="2.3"
android:background="#000000"
android:gravity="center_horizontal"
android:text="" />
</LinearLayout>
</LinearLayout>