设为首页 加入收藏

TOP

Android之手机屏幕的获取
2017-10-11 17:05:46 】 浏览:7676
Tags:Android 手机 屏幕 获取

屏幕区域的获取:

activity.getWindowManager().getDefaultDisplay();  

应用区域的获取:

Rect outRect = new Rect();  
activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(outRect);  

view图形绘制区域的获取:

Rect outRect = new Rect();  
activity.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getDrawingRect(outRect);  

下面来测试一下:

package com.example.testactivity;

import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class TextActivity extends Activity {
    private TextView tv;
    private Button btn;
    //获取手机屏幕分辨率的类
    private DisplayMetrics dm;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv=(TextView)findViewById(R.id.textView1);
        btn=(Button)findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                dm=new DisplayMetrics();
                getWindowManager().getDefaultDisplay().getMetrics(dm);
            //获得手机宽高
                String strPM="手机分辨率为:"+dm.widthPixels+"*"+dm.heightPixels;
                tv.setText(strPM);
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

  

效果如图:

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇刷新实现原理 下一篇Android-兼容问题

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目