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

时间:2021-09-22 22:41:07

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


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

在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>

竖屏:

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

 

横屏:

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

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

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