layout_weight属性理解
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="0dp" android:gravity="center" android:layout_weight="1" android:layout_height="fill_parent"> <ImageView android:layout_height="wrap_content" android:src="@drawable/item" android:layout_width="fill_parent" android:id="@+id/listview_isplay" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_marginTop="3dp" android:orientation="vertical" android:layout_weight="8" android:layout_height="fill_parent"> <LinearLayout android:layout_height="wrap_content" android:layout_weight="1" android:layout_width="wrap_content"> <TextView android:textColor="@android:color/white" android:id="@+id/listview_musicname" android:layout_height="wrap_content" android:layout_width="fill_parent" android:textStyle="bold" android:text="ceshigequ" android:gravity="center_vertical|left"></TextView> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"> <TextView android:layout_width="fill_parent" android:id="@+id/listview_singer" android:textColor="@android:color/white" android:textStyle="normal" android:layout_height="wrap_content" android:text="ceshigequ" android:gravity="center_vertical|left" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_weight="2" android:layout_height="fill_parent"> <TextView android:layout_height="fill_parent" android:text="00:00" android:textColor="@android:color/white" android:id="@+id/listview_time" android:layout_width="fill_parent" android:gravity="center" /> </LinearLayout> </LinearLayout>
layout_weight 其实这个参数就是个比重大小调整的参数,数值越大,比重越大
调整参数的时候注意,要把view的height或者width设置为0px或者0dp,否则比重layout_weight不起作用,或者有些意想不到的结果
刚开始没有设置 width为0dp 出现了控件不能对齐的现象
设置后完美解决 其实这个布局也可以用RelativeLayout布局来做 但是用RelativeLayout来做的话 很多地方要用的直接指定控件的数值大小 不适合用
因为Android屏幕分辨率过多 可能你指定的数值在某一分辨率上很合适但是换到另一个分辨率
上就会差很多影响最终效果