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 );
}
}
注:文字大小也可以按比例缩放,不过手机与平板表现的不一样
分享到:
相关推荐
在`onMeasure()`中,我们需要遍历所有的子视图,为它们分配宽度和高度。对于流布局,我们需要考虑当前行的总宽度,如果加上下一个子视图就会超出父视图的宽度,则需要换行。同时,我们还需要处理垂直对齐和水平对齐...
在Android开发中,自定义控件是提升应用用户体验和界面个性化的重要手段。本文将深入探讨如何在Android中创建一个自定义控件,用于实现状态提示图表。这种图表能够动态显示数据,非常适合用来实时反馈应用程序的状态...
在设计用户界面时,有时我们需要创建一个可以显示多个标签并且能自动换行的布局,以适应不同屏幕尺寸和保持界面的可读性。`多标签自动换行的控件ViewGroup`就是解决这个问题的一个自定义组件。 首先,我们要理解`...
可以添加更多的属性来控制这些细节,如字体、颜色、圆点大小等,以适应不同的设计需求。 通过这样的自定义控件,开发者可以避免依赖图片资源,从而实现更灵活的布局和更好的屏幕适配。同时,自定义控件也提供了更高...
介绍如何获取设备的屏幕尺寸信息,包括宽度、高度等参数。 - **3.6 样式化的定型对象** 解释如何使用样式和主题来统一应用界面的设计风格,提高开发效率。 - **3.7 简易的按钮事件** 介绍如何为Button控件绑定...
这种控件常用于显示分类标签、热门话题等场景,可以提高用户界面的交互性和信息展示效率。 实现`TagTextView`的基本步骤如下: 1. **创建自定义View**: 首先,你需要创建一个新的类继承自TextView,然后在其中...