首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

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

2012-07-15 
Android界面控件遍历代码 改变宽度 高度 字体大小适应屏幕1.遍历界面控件?用instanceof来判断是否是指定的

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 );}}

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

?

1 楼 zwj2009 2012-04-06   请问changeLayoutParams方法你是在什么时间调用呢

我在onCreate方法中调用无效

热点排行