【问题标题】:Weight issue with layout布局重量问题
【发布时间】:2012-08-29 11:30:11
【问题描述】:

这个问题与我的previous question 有关。我没有以正确的方式找到解决方案 - 我以编程方式获取屏幕宽度并以这种方式向 ImageView 添加边距。

现在我有新问题。
这是权重正常工作的布局:

<?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"
    android:gravity="center_vertical" >

    <LinearLayout 
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.3"
        android:padding="5dp"
        android:orientation="vertical">
        <TextView 
            android:id="@+id/txt_dir_fl_time_go"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_dir_fl_time_go_back"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_dir_fl_duration"
            style="@style/WrapContent.ListItem.Isdirect"/>
        <TextView 
            android:id="@+id/txt_dir_fl_is_direct"
            style="@style/WrapContent.ListItem.Isdirect"/>
    </LinearLayout>

    <LinearLayout 
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.3"
        android:padding="5dp"
        android:orientation="vertical">
        <TextView 
            android:id="@+id/txt_ret_fl_time_go"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_ret_fl_time_go_back"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_ret_fl_duration"
            style="@style/WrapContent.ListItem.Isdirect"/>
        <TextView 
            android:id="@+id/txt_ret_fl_is_direct"
            style="@style/WrapContent.ListItem.Isdirect"/>
    </LinearLayout>

    <TextView 
        android:id="@+id/txt_airline_name"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.2"
        android:textSize="15sp"/>

    <ImageView 
        android:id="@+id/img_airline"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.2"
        android:scaleType="fitCenter"
        android:adjustViewBounds="true"
        android:src="@drawable/ic_launcher"
        android:visibility="gone"/>

    <TextView
        android:id="@+id/btn_buy"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.2"/>
</LinearLayout> 

几乎相同的布局,权重不起作用!再次! (结果和我之前的问题一样,见文章开头)。

<?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"
    android:gravity="center_vertical">

    <LinearLayout 
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.4"
        android:padding="5dp"
        android:orientation="vertical">
        <TextView 
            android:id="@+id/txt_airline_name"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_airline_plus_number"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_duration"
            style="@style/WrapContent.ListItem"/>
    </LinearLayout>

    <LinearLayout 
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.3"
        android:padding="5dp"
        android:orientation="vertical">
        <TextView 
            android:id="@+id/txt_go_start_date"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_go_start_time"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_go_start_city"
            style="@style/WrapContent.ListItem"
            android:text="@string/txt_loading"/>
        <TextView 
            android:id="@+id/txt_go_start_city_iata"
            style="@style/WrapContent.ListItem"/>
    </LinearLayout>

    <LinearLayout 
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.3"
        android:padding="5dp"
        android:orientation="vertical">
        <TextView 
            android:id="@+id/txt_go_finish_date"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_go_finish_time"
            style="@style/WrapContent.ListItem"/>
        <TextView 
            android:id="@+id/txt_go_finish_city"
            style="@style/WrapContent.ListItem"
            android:text="@string/txt_loading"/>
        <TextView 
            android:id="@+id/txt_go_finish_city_iata"
            style="@style/WrapContent.ListItem"/>
    </LinearLayout>

</LinearLayout>

我想知道是否有人可以帮助我..

【问题讨论】:

    标签: android android-linearlayout 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"
        android:gravity="center_vertical">
    
        <LinearLayout 
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_weight="0.4"
            android:padding="5dp"
            android:orientation="vertical">
            <TextView 
                android:id="@+id/txt_airline_name"
                style="@style/WrapContent.ListItem"/>
            <TextView 
                android:id="@+id/txt_airline_plus_number"
                style="@style/WrapContent.ListItem"/>
            <TextView 
                android:id="@+id/txt_duration"
                style="@style/WrapContent.ListItem"/>
        </LinearLayout>
    
        <LinearLayout 
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_weight="0.3"
            android:padding="5dp"
            android:orientation="vertical">
            <TextView 
                android:id="@+id/txt_go_start_date"
                style="@style/WrapContent.ListItem"/>
            <TextView 
                android:id="@+id/txt_go_start_time"
                style="@style/WrapContent.ListItem"/>
            <TextView 
                android:id="@+id/txt_go_start_city"
                style="@style/WrapContent.ListItem"
                android:text="@string/txt_loading"/>
            <TextView 
                android:id="@+id/txt_go_start_city_iata"
                style="@style/WrapContent.ListItem"/>
        </LinearLayout>
    
        <LinearLayout 
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_weight="0.3"
            android:padding="5dp"
            android:orientation="vertical">
            <TextView 
                android:id="@+id/txt_go_finish_date"
                style="@style/WrapContent.ListItem"/>
            <TextView 
                android:id="@+id/txt_go_finish_time"
                style="@style/WrapContent.ListItem"/>
            <TextView 
                android:id="@+id/txt_go_finish_city"
                style="@style/WrapContent.ListItem"
                android:text="@string/txt_loading"/>
            <TextView 
                android:id="@+id/txt_go_finish_city_iata"
                style="@style/WrapContent.ListItem"/>
        </LinearLayout>
    
    </LinearLayout>
    

    请试试这个

    【讨论】:

      猜你喜欢
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      相关资源
      最近更新 更多