关闭

在安卓中设置控件宽高是屏幕的一半

标签: android控件UI
3590人阅读 评论(3) 收藏 举报
分类:

在我们的安卓中设置控件的宽高有很多种,那我也简单的说一下以下这几种对于屏幕适配,不同的设置控件相对于屏幕宽高所占百分比的设置:


首先说说最简单的一种适配,在代码中我们可以这样来,

在Activity中进行设置

思路,获取屏幕的宽高,拿到控件的布局参数,之后进行宽高设置

TextView tv = (TextView) findViewById(R.id.tv);
        WindowManager wm = getWindowManager();
        Display d = wm.getDefaultDisplay();
        
        //拿到布局参数
        LayoutParams l = tv.getLayoutParams();
        l.width=d.getWidth()/3;
        l.height=d.getHeight()/3;
        

就这么简单的几行代码,应用也是非常多的


在其他类中进行设置,前提是我们要有上下文这个参数,通过返回值获得屏幕的宽高:

 //获取屏幕的宽度  
public static int getScreenWidth(Context context) {  
   WindowManager manager = (WindowManager) context  
           .getSystemService(Context.WINDOW_SERVICE);  
   Display display = manager.getDefaultDisplay();  
   return display.getWidth();  
}  
//获取屏幕的高度 
public static int getScreenHeight(Context context) {  
   WindowManager manager = (WindowManager) context  
           .getSystemService(Context.WINDOW_SERVICE);  
   Display display = manager.getDefaultDisplay();  
   return display.getHeight();  
} 

以上代码如果有能力,你可以进行优化,由于博主有点小懒,这个问题就交给你们了;

如果你并不想使用这么简单的东西还有更深的设置方法:

可以使用LinearLayout的权重,进行适配屏幕的宽度:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FFFFFF"
    android:gravity="center"
    android:orientation="horizontal"
    android:weightSum="1">
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:text="Click me"/>
</LinearLayout>

竖屏:

 

横屏:

以上就简单的列出集中设置方式,如果喜欢,小手点赞哦,蟹蟹!!!

如果你有什么建议,可以在下边进行细说!!!



1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10571次
    • 积分:275
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:0篇
    • 译文:0篇
    • 评论:15条
    文章分类
    最新评论