布局重量问题

时间:2012-08-29 11:30:12

标签: android android-linearlayout android-layout-weight

此问题与我的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>

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

1 个答案:

答案 0 :(得分:0)

<?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>

请试试这个