遍历界面控件 android,Android界面控件遍历代码 改变宽度 高度 字体大小适应屏幕...

1.遍历界面控件

用instanceof来判断是否是指定的控件类型

LinearLayout myLayOut = (LinearLayout)findViewById(R.id.tableLayout1);

LinearLayout 是父控件名称,根据你自己的修改

可以用这句得到

LinearLayout loginLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.main, null);

for (int i = 0; i < myLayOut.getChildCount(); i++) {

View v = myLayOut.getChildAt(i);

if ( v instanceof ImageView){

ImageView myImageView = (ImageView)myLayOut.getChildAt(i);

myImageView.setOnClickListener(new myOnclickListener());

}

}

注:只能得到一级子View

2.适应全屏修改大小

changeLayoutParams(R.id.tableLayout1);

protected void changeLayoutParams(int layoutId){

final View view = (View) findViewById(layoutId);

ViewTreeObserver viewTreeObserver = view.getViewTreeObserver();

viewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

boolean isFirst = true;

@Override

public void onGlobalLayout() {

if (isFirst) {

isFirst = false; //执行一次 不这样设置 他会一直执行

int height = view.getMeasuredHeight();

int width = view.getMeasuredWidth();

//viewGroup 适应所有父布局控件

ViewGroup.LayoutParams linearParams = (ViewGroup.LayoutParams) view.getLayoutParams();

linearParams.width = (int) (width*scale);

linearParams.height = (int) (height*scale); //在原有的高度 宽度放大倍数

view.setLayoutParams(linearParams);

}

}

});

if(view instanceof TextView){

((TextView) view).setTextSize( 24 );

}else if(view instanceof EditText){

((EditText) view).setTextSize( 24);

}else if(view instanceof Button){

((Button) view).setTextSize( 24 );

}else if(view instanceof RadioButton){

((RadioButton) view).setTextSize( 24 );

}

}

注:文字大小也可以按比例缩放,不过手机与平板表现的不一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值