如何在Android中的LinearLayout中将第二项与父项对齐?

时间:2013-07-05 05:24:40

标签: android android-layout android-linearlayout relativelayout

我遇到LinearLayout问题。我在LinearLayout中有两个项目..一个是包含宽度的Linearlayout,另一个是简单的textview ...我的包装宽度LinearLayout从Activity获取宽度..它工作正常..但我有一个textview的问题,这是第二个项目..从我包装的LinearLayout开始,无论我的包装布局得到什么宽度,textview都从它开始。我想让textview对齐Parent Linearlayout.Here是我的xml ..`

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="0dp"
                            android:layout_weight="1"
                            android:background="@drawable/graph_panel_bg_one"
                            android:orientation="horizontal" >

                            <LinearLayout
                                android:id="@+id/looser_left_jab_force_panel"
                                android:layout_width="wrap_content"
                                android:layout_height="match_parent"
                                android:background="@drawable/force_panel_gradient" >
                            </LinearLayout>

                            <TextView
                                android:id="@+id/looser_left_jab_force"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:gravity="center"
                                android:text=""
                                android:textColor="#F18B86"
                                android:textSize="10sp" />
                        </LinearLayout>

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="0dp"
                            android:layout_weight="1"
                            android:background="@drawable/graph_panel_bg_one" >

                            <LinearLayout
                                android:id="@+id/looser_left_jab_speed_panel"
                                android:layout_width="wrap_content"
                                android:layout_height="match_parent"
                                android:background="@drawable/speed_panel_gradient" >
                            </LinearLayout>

                            <TextView
                                android:id="@+id/looser_left_jab_speed"
                                android:layout_width="match_parent"
                                android:layout_height="match_parent"
                                android:gravity="center"
                                android:text="12222"
                                android:textColor="#CEE2E9"
                                android:textSize="10sp" />
                        </LinearLayout>
                    </LinearLayout>`

2 个答案:

答案 0 :(得分:1)

将TextView宽度设置为"wrap_content"

答案 1 :(得分:1)

LinearLayout 是一个视图组,可以垂直或水平对齐单个方向上的所有子项。您可以使用android:orientation属性指定布局方向。

LinearLayout的所有子项都是一个接一个地堆叠,因此垂直列表每行只有一个子节点,无论它们有多宽,水平列表只有一行高(最高的孩子的高度,加上填充)。 LinearLayout尊重子项与每个孩子的重力(右,中或左对齐)之间的边距。

  
    
      

它从我的包装LinearLayout开始,无论我的包裹布局得到什么宽度

    
  

这是因为您的父线性布局“android:orientation="horizontal”,如果您设置“android:orientation =”vertical“,它可能会从您的包装LinearLayout开始,无论您的包装布局得到什么高度。

通过LinearLayout可能很难实现您想要的方式。

我也建议选择相对布局。将孩子按照自己的方式调整是有帮助的。

注意:采取适当的textview操作,可能与LinearLayout重叠。