获取屏幕高宽,在代码中设置控件大小的方法

获取屏幕的宽高

WindowManager windowManager = getWindowManager();    

   Display display = windowManager.getDefaultDisplay();  

display.getWidth()

display.getHeight()=


在View中同样可以获得屏幕的参数



//方法一

       int h = this.getContext().getResources().getDisplayMetrics().heightPixels;

       int w = this.getContext().getResources().getDisplayMetrics().widthPixels;

       Log.v("########h#######",String.valueOf(h));

      

      

       //方法二

        WindowManager wm = (WindowManager)this.getContext().getSystemService(Context.WINDOW_SERVICE);

        Display display = wm.getDefaultDisplay();

        int h1 = display.getHeight();

        int w1 = display.getWidth();


//在代码中设置控件大小的方法

        private Button mbtn;
        mbtn = (Button) findViewById(R.id.btn_test);        
        LayoutParams lp;        
         //注意这里的layoutparams必须是和你对应控件的根布局是一个类型的

        lp=mbtn.getLayoutParams();
        lp.width=100;
        lp.height=200;        
        mbtn.setLayoutParams(lp);

//在代码中设置界面大小的方法:

Display display = getWindowManager().getDefaultDisplay(); // 为获取屏幕宽、高 

 Window window = getWindow(); 

LayoutParams windowLayoutParams = window.getAttributes(); // 获取对话框当前的参数值 

windowLayoutParams.width = (int) (display.getWidth() * 0.7); // 宽度设置为屏幕的0.95  

windowLayoutParams.height = (int) (display.getHeight() * 0.1); // 高度设置为屏幕的0.6 

windowLayoutParams.alpha = 0.5f;// 设置透明度 



示例代码

public class Main3Activity extends AppCompatActivity implements View.OnClickListener{
    private Button btn_control;
    private Button btn_control_jiemian;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        btn_control= (Button) findViewById(R.id.btn_control);
  
        btn_control.setOnClickListener(this);

    }


    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.btn_control:
                //注意这里的layoutparams必须是和你对应控件的根布局是一个类型的
                LinearLayout.LayoutParams lp;
                lp= (LinearLayout.LayoutParams) btn_control.getLayoutParams();
                lp.width=200;
                lp.height=300;
                btn_control.setLayoutParams(lp);
                break;
        }
    }



最后再次提醒

  //注意这里的layoutparams必须是和你对应控件的根布局是一个类型的
                LinearLayout.LayoutParams lp;
                lp= (LinearLayout.LayoutParams) btn_control.getLayoutParams();

         //注意这里的layoutparams必须是和你对应控件的根布局是一个类型的

你可能感兴趣的:(获取屏幕高宽,在代码中设置控件大小的方法)