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

来源:互联网 发布:unix环境编程视频 编辑:程序博客网 时间:2024/06/06 16:09

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


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

在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