使用LinearLayout时经常需要设置比例,而LinearLayout的比例设置,出现的效果总是让人很费解,最近博主在设置比例时又遇到了效果与预设比重值不一致的情况,经过google发现,是设置的比例未起作用,原因是layout_width没设置正确(水平方向)。
解决方案:如果要使用设置的比例进行水平布局,则需要将父LinearLayout的layout_width设置为match_parent,子view的layout_width设置为0dip,如下:
<LinearLayout
android:id="@+id/sd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="horizontal"
android:text="@string/shendu" >
<Button
android:id="@+id/add"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:text="+"
android:textSize="15sp" />
<SeekBar
android:id="@+id/mySeekBar"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="0.6"
android:max="100"
android:progress="20"
android:thumbOffset="10px" />
<Button
android:id="@+id/minus"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:text="-"
android:textSize="15sp" />
</LinearLayout>