android:layout_width 单位有没有百分比的设置方法?
我现在遇到的问题是 有一个菜单 在屏幕底部水平放置 有6个选项 我希望他们宽度一样 又不能溢出屏幕,同时还要兼顾不同分辨率.请问各位大大我该怎么调宽度?
没有多的分了. 展开
没有设置方法
线性布局就用权重,设置layout_width="0dp",加个android:layout_weight="1.0"//权重
相对布局设置layout_width="0dp",然后在代码中通过屏幕宽度设置每个控件的大小。
可以通过android:layout_weight的方式实现百分比
扩展资料:
view中的layout_width形容的是本view和父容器的关系;而view中的width是用来描述自己本身的。
android:width 的值,一般是 "100dp" 这样的数值;
android:layout_width 的值,一般是"fill_parent","wrap_content","match_parent".当然,它也可以像前者一样,设置数值的。
android:layout_width 其实是可以实现 android:width 的效果的,我觉得这应该是为什么在 android 实例中看不到有人用 android:width 的原因吧。
带"layout"的属性是指整个控件而言的,是与父控件之间的关系,如 layout_gravity 在父控件中的对齐方式, layout_margin 是级别相同的控件之间的间隙等等;
不带"layout" 的属性是指控件中文本的格式,如gravity是指文本的对齐方式等等,而其中文本的格式又受制约于它的控件在父控件中的属性。
参考资料:百度百科:Android
Android没有百分比这一说
线性布局就用权重,设置layout_width="0dp",加个android:layout_weight="1.0"//权重
相对布局设置layout_width="0dp",然后在代码中通过屏幕宽度设置每个控件的大小。
//取屏幕高
outerHeight=getResources().getDisplayMetrics().heightPixels-(int)(25*getResources().getDisplayMetrics().density);//得减去标题栏高度
//取屏幕宽
outerwidth=getResources().getDisplayMetrics().widthPixels;
然后根据宽高计算控件大小,也是实现自适应的一种方式
view=(RelativeLayout)findViewById(R.id.copy_view);
ViewGroup.LayoutParamslayoutlp=view.getLayoutParams();//获取view的属性集//因为该view只是改了他的宽,其他属性没变,所以不能new出来。
layoutlp.width=outerwidth/6;设置view的宽
view.setLayoutParams(layoutlp);在把改属性集重新赋值给该view
扩展资料
用LinearLayout吧,可以通过android:layout_weight的方式实现百分比,把百分比设成一样的就行了。
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
Android没有百分比这一说
线性布局就用权重设置layout_width="0dp",加个android:layout_weight="1.0"//权重
相对布局设置layout_width="0dp",然后在代码中通过屏幕宽度设置每个控件的大小。
可以通过android:layout_weight的方式实现百分比
扩展资料:
1、Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
2、屏占比是最早用于手机上的一个概念,用于表示屏幕和手机前面板面积的相对比值,它是手机外观设计上比较容易获得视觉好感的参数。
对于当前的智能手机市场,手机的屏幕越做越大,从屏占比的计算公式可以看出,屏幕越大,则屏占比越大,对体验更有益。
3、屏占比,屏幕面积与整机面积的比例。
计算公式:屏占比=屏幕面积/整机面积
已知条件:手机主屏尺寸a英寸(为手机屏幕对角线的长度,1英寸= 25.4毫米);屏幕分辨率b*c
因为屏幕上的像素点都是正方形的没有长方形的,每个像素的大小都是一样的,b*c表示横向上有b个像素纵向上有c个像素,假设屏幕的长为m,宽为n,那么屏幕的长宽的比例即为m/n=b/c
参考资料:百度百科---Android
android:layout_width没有百分比的设置方法。
但可以通过android:layout_weight的方式实现百分比
比如
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="wrap_content"//宽度设为wrap_content自适应
android:layout_height="fill_parent"
android:layout_weight="1" //这里所占比例是所有LinearLayout下组件自适应后剩余宽度比例为1/(1+2+3)
android:background="#aa0000"
android:gravity="center"
android:text="1"/>
<TextView
android:layout_width="wrap_content"//宽度设为wrap_content自适应
android:layout_height="fill_parent"
android:layout_weight="2"//这里所占比例是所有LinearLayout下组件自适应后剩余宽度比例为2/(1+2+3)
android:background="#00aa00"
android:gravity="center"
android:text="1"/>
<TextView
android:layout_width="wrap_content"//宽度设为wrap_content自适应
android:layout_height="fill_parent"
android:layout_weight="3"//这里所占比例是所有LinearLayout下组件自适应后剩余宽度比例为3/(1+2+3)
android:background="#0000aa"
android:gravity="center"
android:text="1"/>
</LinearLayout>
线性布局就用权重,设置layout_width="0dp",加个android:layout_weight="1.0"//权重
相对布局设置layout_width="0dp",然后在代码中通过屏幕宽度设置每个控件的大小。
// 取屏幕高
outerHeight = getResources().getDisplayMetrics().heightPixels- (int) (25 * getResources().getDisplayMetrics().density);//得减去标题栏高度
//取屏幕宽
outerwidth=getResources().getDisplayMetrics().widthPixels;
然后根据宽高计算控件大小,也是实现自适应的一种方式
view=(RelativeLayout) findViewById(R.id.copy_view);
ViewGroup.LayoutParams layoutlp = view.getLayoutParams();//获取view的属性集//因为该view只是改了他的宽,其他属性没变,所以不能new出来。
layoutlp.width = outerwidth/6;设置view的宽
view.setLayoutParams(layoutlp);在把改属性集重新赋值给该view