首页 > 营销创意传播 > 手机网站标题栏多大

快速发布【营销创意传播】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

手机网站标题栏多大

标签:手机网站标题栏多大 2017-8-07 作者:t_1900afaqan

在开发手机应用时,除了对API的掌握外,更重要的还是画面。对于画面,屏幕分辨率又是很重要的一个因素。 由于手机屏幕尺寸各不相同,在画面布局时就需要考虑这个问题。


Android可以设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕边界,以免布局变形。 


下面我们就讲一下,如何通过代码获取手机屏幕的分辨率,代码其实很简单,关键是android.util.DisplayMetrics这个类。该类记录了一些常用信息,如显示信息、大小、维度、字体等等。 


[java]


[java] view plain copy print?

@Override    

 public void onCreate(Bundle savedInstanceState) {    

        super.onCreate(savedInstanceState);    

        /*加载页面*/    

        setContentView(R.layout.main);    

            

        /*引用android.util.DisplayMetrics*/    

        DisplayMetrics dm = new DisplayMetrics();    

        getWindowManager().getDefaultDisplay().getMetrics(dm);    

            

        int width = dm.widthPixels;    

        int height = dm.heightPixels;    

            

        Button button = (Button)findViewById(R.id.b01);    

        button.setText("手机屏幕分辨率为:"+width+"*"+height);    

  

        DisplayMetrics metric = new DisplayMetrics();  

        getWindowManager().getDefaultDisplay().getMetrics(metric);  

        int width = metric.widthPixels;  // 屏幕宽度(像素)  

        int height = metric.heightPixels;  // 屏幕高度(像素)  

        float density = metric.density;  // 屏幕密度(0.75 / 1.0 / 1.5)  

        int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)  

        /* 

         

但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入support****reens节点,具体的内容如下: 

        

            android:smallScreens="true" 

            android:normalScreens="true" 

            android:largeScreens="true" 

            android:resizeable="true" 

            android:anyDensity="true"/> 

     这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。 

        */  

 }    



效果


1.jpg  1.jpg



获取状态栏高度: 


the top-level window decor view (containing the standard window frame/decorations and the client's content inside of that)

 


  decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。 

  于是,我们就可以算出状态栏的高度了。 



[java] view plain copy print?

Rect frame = new Rect();      

      

getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);      

      

int statusBarHeight = frame.top;     


获取标题栏高度:


getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。 

[java] view plain copy print?

int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();      

      

 //statusBarHeight是上面所求的状态栏的高度      

      

 int titleBarHeight = contentTop - statusBarHeight      

      

 int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();      

      

 //statusBarHeight是上面所求的状态栏的高度      

      

 int titleBarHeight = contentTop - statusBarHeight

      


好啦,上面就是小编为大家总结的手机网站标题栏多大这个问题,如果大家还有其他问题可以联系小编哦!

最新文章推荐

营销创意传播暂无最新文章查看全部推荐文章>

推荐人才