【问题标题】:How to align two TextViews within LinearLayout cell?如何在 LinearLayout 单元格中对齐两个 TextView?
【发布时间】:2013-03-12 14:12:10
【问题描述】:

我有一个垂直列表(垂直线性布局)。在每个单元格中,我有两个 EditText 字段,彼此相邻。第一个应该对齐到单元格的左侧,第二个对齐到单元格的中间,基本上导致两列彼此相邻。我以为我使用了两列 GridLayout。然而,令我惊讶的是,第二个 EditText 与单元格的右侧对齐,而不是单元格的中间。我哪里错了?

    <GridLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:alignmentMode="alignBounds"
    android:columnCount="2" >

    <TextView
        android:id="@+id/sourceLanguage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="left|center_vertical"
        android:text="test1"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#FF3366"
        android:textIsSelectable="true" />

    <TextView
        android:id="@+id/targetLanguage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:gravity="left|center_vertical"
        android:text="test2"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#993366"
        android:textIsSelectable="true" />

</GridLayout>

快到了,但没有退出……除了第二列不完全左对齐。

这是想要的结果!!!

【问题讨论】:

    标签: android android-linearlayout textview android-gridlayout


    【解决方案1】:

    使用LinearLayoutweightSum。我修改了你的代码(见下文)。注意LinearLayout中添加的weightSumTextViewslayout_weights的宽度变化TextViews

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="2">
    
        <TextView
            android:id="@+id/sourceLanguage"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="left|center_vertical"
            android:text="test1"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#FF3366"
            android:textIsSelectable="true" />
    
        <TextView
            android:id="@+id/targetLanguage"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="left|center_vertical"
            android:text="test2"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#993366"
            android:textIsSelectable="true" />
    
    </LinearLayout>
    

    【讨论】:

    • 阴影,感谢您的回答。但是现在第二个 TextView 不是与 50% 对齐,而是 ca。 70% 的单元格,请参阅屏幕截图问题。
    • @jhulst,是的,我的帖子被编辑了,我没有注意到重力发生了变化。再次编辑它,现在应该没问题了。
    • 嘿嘿!,成功了(见 screen_shot 问题),非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多