赞
踩
布局中组件的排列方式,有horizontal(水平),vertical(垂直,默认),两种方式
控制组件所包含的子元素的对齐方式,可多个组合,如(left|buttom)
控制该组件在父容器里的对齐方式
布局的宽度,通常不直接接写数字的,用wrap_content(组件实际大小),fill_parent或者match_parent填满容器。
布局的高度,参数同上
为该组伯设置一个资源id,在java文件中可以通过findViewById(id)找到该组件。
为该组件设置一个背景图片,或者直接用颜色覆盖。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="#ADFF2F"
android:orientation="vertical" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="2"
android:background="#DA70D6"
android:orientation="vertical" />
都是fill_parent下解析
step 1:个个都是fill_parent,但是屏幕只有一个啦,那么1 - 3 = - 2 fill_parent
step 2:依次比例是1/6,2/6,3/6
step 3:先到先得,
先分给one,计算: 1 - 2 * (1/6) = 2/3 fill_parent
接着到two,计算: 1 - 2 * (2/6) = 1/3 fill_parent
最后three,计算 1 - 2 * (3/6) = 0 fill_parent
step 4:所以最后的结果是:one占了两份,two占了一份,three什么都木有 以上就是为什么three没有出现的原因了,
//获取要设置weight属性的控件
Button button = (Button) findViewById(R.id.button2);
//获取控件当前layout属性
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)button.getLayoutParams();
//修改要修改的项
params.weight = 1.0f;
//设置控件weight属性
button.setLayoutParams(params);
//也可以New一个新的属性对象
LinearLayout.LayoutParams params =new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.MATCH_PARENT,1.0f);
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#000000" />
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。