关闭

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

标签: android控件UI
4267人阅读 评论(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网站的观点或立场

安卓-控制控件的宽度占屏幕的一半且水平居中显示

今天说下如何让一个控件的宽度显示时占屏幕的一般宽度,且水平居中显示。这里抛砖引玉,给出三种实现方案: 1)线性布局:利用属性android:weightSum和android:layout_weig...
  • wwt831208
  • wwt831208
  • 2017-02-10 11:03
  • 2559

android获取控件宽高和屏幕宽高

一、获取屏幕宽高 要获取屏幕宽高,我们可以先从android的界面构成了解 android的界面主要由三部分构成:1、状态栏 2、标题栏 3、内容区域 1、状态栏 2、标题栏 android中标...
  • littlewhitetree
  • littlewhitetree
  • 2016-06-15 13:46
  • 6009

安卓中计算 TextView 的宽高、打点

本文讲述如何测量文本的宽高,以及在自定义控件中如何对文本进行换行和打点等操作。
  • zhaizu
  • zhaizu
  • 2016-06-20 21:19
  • 1974

安卓中自定义view控件代替radiogroup实现颜色渐变效果的写法

利用自定义控件代替radiogroup,同时实现在使用viewpager进行翻页的时候,实现颜色渐变的效果。 一: 首先创建一个自定义view类继承自View类,所有的控件均用canvas绘制出来...
  • you__are_my_sunshine
  • you__are_my_sunshine
  • 2016-06-12 17:45
  • 432

安卓中如何通过事件来改变Button与ListView控件的背景图片

1.首先在drawable目录下创建一个XML文件,文件名任意,如下(test_check.xml): 文件是有一定格式的:1.根标签是selector;2.该xml文件...
  • xiyou222
  • xiyou222
  • 2016-09-29 11:38
  • 185

安卓中圆形控件的实现

安卓自带控件中几乎没有圆形控件,但在实际开发过程中圆形控件更能给用户更好的视觉效果。 先看一下我们要实现的效果: 要实现这种效果的话先要在drawable文件夹下新建一个Android X...
  • qq_27935573
  • qq_27935573
  • 2016-07-12 14:47
  • 259

安卓中WebView控件

在安卓开发的过程中,有事后需要打开一些网页,这时候使用webview控件能够更轻松完成内容的显示 WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。 webview有两...
  • YZF11
  • YZF11
  • 2016-04-29 18:32
  • 362

安卓中自定义简单的组合控件

一、画组合控件的UI 既然是自定义组合控件,那么UI肯定得自定义,笔者的自定义组合控件效果图和代码如下: 代码: <RelativeLayout xmlns:android="http://schem...
  • qq_29013473
  • qq_29013473
  • 2016-12-09 10:14
  • 324

安卓中常见的控件

1,应用中设置声音的开关按钮。 ToggleButton: <ToggleButton android:layout_width="wrap_content" ...
  • yipfungdung
  • yipfungdung
  • 2016-03-23 14:23
  • 501

安卓中针对单个控件的简单动画实现

引言一个优质的APP应该是在功能实现和流程完整的基础上,尽量的提高用户体验度,而主要方式就是界面UI的显示和操作时的各种动画效果,一个好的动画效果可以使用户眼前一亮,大大提高用户对APP的满意度和使用...
  • chengeng123456789
  • chengeng123456789
  • 2017-03-30 16:46
  • 97
    个人资料
    • 访问:18403次
    • 积分:314
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:0篇
    • 译文:0篇
    • 评论:15条
    文章分类