android 动态设置屏幕控件宽高度

获取屏幕宽高度:

WindowManager wm = (WindowManager) context
				.getSystemService(Context.WINDOW_SERVICE);
		DisplayMetrics outMetrics = new DisplayMetrics();
		wm.getDefaultDisplay().getMetrics(outMetrics);
outMetrics.widthPixels
outMetrics.heightPixels


 LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linear1);//找到xml上的控件
        LinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.linear3);//找到xml上的控件
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(widths,DensityUtils.dp2px(context,40));//设置控件的宽高
        ImageView imageView = new ImageView(context);//动态添加imageview控件
        imageView.setBackground(getResources().getDrawable(R.mipmap.shishi_lefttup));//设置背景图片
        ImageView imageview2 = new ImageView(context);
        imageview2.setBackground(getResources().getDrawable(R.mipmap.shishi_rightup));
        linearLayout.addView(imageView,params);//把控件添加到LinearLayout里面去
        linearLayout2.addView(imageview2,params);
为什么需要这么麻烦呢,有时候xml不能满足现状的需求

设置控件的宽高度:

先还是要获取屏幕的宽高度

imageView=(ImageView)findViewById(R.id.imageView1);//获取当前控件的对象
LinearLayout.LayoutParams params= (LinearLayout.LayoutParams) imageView.getLayoutParams();
//获取当前控件的布局对象
params.height=width/2;//设置当前控件布局的高度width是屏幕宽度
imageView.setLayoutParams(params);//将设置好的布局参数应用到控件中
这里把imageview看做是linearlayout的子视图

不一定是LinearLayout也可以是其他relativelayout也可以的


推荐:http://blog.csdn.net/Djoli/article/details/62417328

http://blog.csdn.net/James_shu/article/details/53363234




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值