`

layout_weight的使用陷阱

阅读更多

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/linear_share"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/white"
            android:padding="15dp"
            android:text="评论 "
            android:textColor="@color/six1"
            android:textSize="@dimen/twoTitle"
            android:gravity="center" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center" >

        <TextView
            android:id="@+id/tv_supportWish"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/redClicked"
            android:gravity="center"
            android:padding="15dp"
            android:text="支持Ta"
            android:textColor="@color/white"
            android:textSize="@dimen/twoTitle" />
    </LinearLayout>

</LinearLayout>

看样子是左右平分了,其实没有,因为左右的文本不是占据一样的宽度的,左边的少两个字节

 

解决方案1

左边的文本改成   android:text="评论 \u3000",这样左右文本占用一样的字节,就会平分了

解决方案2

 android:layout_width="0dp"

  android:layout_weight="1",这样也平分了

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <LinearLayout
        android:id="@+id/linear_share"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/white"
            android:padding="15dp"
            android:text="评论 "
            android:textColor="@color/six1"
            android:textSize="@dimen/twoTitle"
            android:gravity="center" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center" >

        <TextView
            android:id="@+id/tv_supportWish"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/redClicked"
            android:gravity="center"
            android:padding="15dp"
            android:text="支持Ta"
            android:textColor="@color/white"
            android:textSize="@dimen/twoTitle" />
    </LinearLayout>

</LinearLayout>

0
0
分享到:
评论

相关推荐

    2011.10.13(4)——— android android:layout_weight

    在Android开发中,`android:layout_weight`是一个非常重要的属性,尤其在布局管理器中,...在阅读完这篇博文后,开发者应该能够掌握如何在LinearLayout中有效地使用`android:layout_weight`,并将其应用到实际项目中。

    apktool layout_weight Base64

    使用apktool,开发者可以查看`res/layout`目录下的XML布局文件,其中可能包含使用layout_weight属性的LinearLayout。layout_weight属性允许子视图声明它们希望占用的总空间的一部分。例如,两个并排放置的按钮,如果...

    Android中的android:layout_weight使用详解

    在Android开发中,`android:layout_weight`是一个关键属性,特别是在使用`LinearLayout`进行界面布局时。`layout_weight`用于指定一个子视图在父视图中的权重,它决定了控件如何分配额外的空间,尤其是在视图的尺寸...

    Android layout_weight使用方法及实例

    下面我们将详细探讨`layout_weight`的使用方法和实例。 首先,`layout_weight`属性的作用是在LinearLayout中定义一个子视图所占的相对权重。当LinearLayout的`orientation`设置为`horizontal`(水平方向)时,`...

    layout_gravity和gravity区别以及应用

    总之,理解和掌握`layout_gravity`和`gravity`的使用,对于进行Android界面设计和优化至关重要。它们提供了强大的布局控制能力,使得我们可以创建出符合用户需求的多样性和动态性的界面。在实际开发过程中,应根据...

    Android应用中通过Layout_weight属性用ListView实现表格

    在Android应用开发中,`Layout_weight`属性是一个非常关键的概念,尤其在使用`LinearLayout`时。`Layout_weight`用于在`LinearLayout`中控制子视图(Views)如何平分剩余空间,这对于创建灵活且响应式的用户界面至关...

    Android移动开发-Weight计算.zip

    在"Android移动开发-Weight计算.zip"压缩包中,可能包含了一个名为"Weight-master"的项目,该项目可能是用来演示或练习如何使用`layout_weight`的。通常,这样的项目会包含多个XML布局文件,每个文件都展示了不同的`...

    Android中gravity与layout_gravity的区别

    "Android中gravity与layout_gravity的区别" Android 中的 gravity 和 layout_gravity 是两个常见的属性...在实际开发中,我们需要根据不同的需求选择使用 gravity 属性或 layout_gravity 属性,以达到最佳的用户体验。

    Quectel_射频LAYOUT_应用指导_V2.2.pdf

    本文档主要介绍了模块外围射频电路的PCB 走线注意事项,帮助客户在使用移远模块时,正确进行RF 部分的PCB 布线设计,以保证RF 性能,减少客户的设计周期。 本文档适用于所有Quectel(移远) GSM、WCDMA 和 LTE 模块...

    weightDemo

    在XML布局文件中,使用`layout_weight`的方式如下: ```xml android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"&gt; android:layout_width="0dp" ...

    Android 五种Layout 布局

    android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"&gt; android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=...

    Layput weight

    在给定的`Layput_weight`示例中,开发者可能创建了一个简单的布局文件,展示了如何使用`layout_weight`属性来实现动态的视图尺寸分配。这可能包括不同权重的按钮、文本视图或其他组件,以便在不同的屏幕尺寸上保持...

    androidlayout-marginBottom的值为负数.docx

    在Android布局设计中,`android:layout_margin`属性用于设置View与周围元素的边距,包括`android:layout_marginTop`、`android:layout_marginBottom`、`android:layout_marginLeft`和`android:layout_marginRight`。...

    计算器(android)

    ntent" android:layout_height="wrap_content" android:layout_weight="1" android:text="/" /&gt; &lt;LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap...

    Android期末作品,课表

    - 要使用`layout_weight`,首先确保父视图是LinearLayout,并且子视图的`layout_width`或`layout_height`设置为`0dp`(MATCH_PARENT 或 WRAP_CONTENT 不会考虑`layout_weight`)。 - 比如,如果两个子视图的`...

    4种Android屏幕自适应解决方案

    Android支持多屏幕机制即用为当前设备屏幕提供一种合适的方式来共同管理并解析应用资源。本文就介绍了4中Android屏幕自适应解决方案。...传统的layout_weight使用方法是将当前控件的layout_width和layout_

    Android_layout_详细介绍

    子控件可以通过设置`layout_weight`属性来控制在布局中的相对大小,实现灵活的控件宽度分配。例如,两个`TextView`控件,如果一个的`layout_weight`设为1,另一个设为2,则后者会占据更多的宽度。 - **对齐方式**:...

    Android weight属性demo

    - 当使用`layout_weight`时,对应的`layout_width`或`layout_height`通常应设置为0dp,这样LinearLayout才能正确分配空间。 - `weight`属性只适用于LinearLayout,对于其他布局管理器(如RelativeLayout、...

    RTL8153B_Series_Layout_Guide_1.1.PDF

    RTL8153B_Series_Layout_Guide,RTL8153官方布局指导手册。

Global site tag (gtag.js) - Google Analytics