androidview设置高度
① android xml中view标签是做什么的
如果宽度和高度按下面的设置,就会显示一条宽度为1px的竖线
android:layout_width="1px"
android:layout_height="fill_parent"
你这个应该是个区域吧。
② Android 自定义View:为什么你设置的wrap_content不起作用
在使用自定义View时,View宽 / 高的 wrap_content 属性不起自身应有的作用,而且是起到与 match_parent 相同作用。
其实这里有两个问题:
请分析 & 解决问题之前,请先看自定义View原理中 (2)自定义View Measure过程 - 最易懂的自定义View原理系列
问题出现在View的宽 / 高设置,那我们直接来看自定义View绘制中第一步对View宽 / 高设置的过程:measure过程中的 onMeasure() 方法
继续往下看 getDefaultSize()
从上面发现:
那么有人会问:wrap_content和match_parent具有相同的效果,为什么是填充父容器的效果呢?
我们知道,子View的MeasureSpec值是根据子View的布局参数(LayoutParams)和父容器的MeasureSpec值计算得来,具体计算逻辑封装在getChildMeasureSpec()里。
接下来,我们看生成子View MeasureSpec的方法: getChildMeasureSpec() 的源码分析:
getChildMeasureSpec()
从上面可以看出,当子View的布局参数使用 match_parent 或 wrap_content 时:
所以: wrap_content 起到了和 match_parent 相同的作用:等于父容器当前剩余空间大小
当自定义View的布局参数设置成wrap_content时时,指定一个默认大小(宽 / 高)。
这样,当你的自定义View的宽 / 高设置成wrap_content属性时就会生效了。
网上流传着这么一个解决方案:
答: 是,当父View为 AT_MOST 、View为 match_parent 时,该View的 match_parent 的效果就等于 wrap_content 。上述方法存在逻辑错误,但由于这种情况非常特殊的,所以导致最终的结果没有错误。具体分析请看下面例子:
从上面的效果可以看出,View大小 = 默认值
我再将子View的属性改为 wrap_content :
从上面的效果可以看出,View大小还是等于默认值。
相信看到这里你已经看懂了:
为了更好的表示判断逻辑,我建议你们用本文提供的解决方案,即根据布局参数判断默认值的设置
不定期分享关于 安卓开发 的干货,追求 短、平、快 ,但 却不缺深度 。
③ android自定义view不随系统显示设置变大
设置属性动画改变scaleX和scaleY值。
变大变小可以用view、setScaleX和setScaleY,使用前分别设置轴心(setPivotX)。要动画而不是直接突然变大的话用属性动画,属性动画改变scaleX和scaleY值。
补间动画在这里不好用,不需要动画的话,这里可以用把其他View都gone掉更好,用线性布局和weight去1/4平分空间,gone掉别的view的时候这个就自然变大占满了或者应该播放时上面蒙层一个View专门处理播放。
④ Android中如何在代码中设置View的宽和高
LayoutParams params = mWebViewHeader.getLayoutParams(); params.height = height; params.width = LayoutParams.FILL_PARENT; mWebViewHeader.setLayoutParams(params);
⑤ Android基础学习-View概述
在Android应用开发中,View是构建用户界面的核心组件,它是所有控件的基类,可以理解为UI界面中的矩形区域,比如TextView、Button、ImageView等基本控件,以及能容纳多个View的容器,如LinearLayout、RelativeLayout、ListView、RecyclerView等,它们共同构成了Android的视图层次结构。
View的位置和大小通过四个顶点坐标决定,这些坐标对应于getLeft(), getRight(), getTop(), 和 getBottom() 方法,进而可以计算出宽度(right - left)和高度(bottom - top)。理解并设置好这些属性,能精确控制控件在屏幕上的布局。
View与用户的交互主要通过MotionEvent事件来实现,当手指接触屏幕时,会触发ACTION_DOWN,手指移动则触发ACTION_MOVE,手指离开屏幕则为ACTION_UP。通过设置onTouch事件,可以捕获并响应这些动作,为用户提供丰富的交互体验。
在Android中,View的表示方式有两种:一是通过XML布局文件,比如在一个垂直排列的LinearLayout中,你可以放置一个TextView和一个Button。二是通过Java代码动态创建和管理,例如创建一个LinearLayout,设置其子控件方向为垂直,然后添加文本框和按钮实例。这两种方法都可以达到相同的效果,开发者可以根据项目需求灵活选择。
View是UI设计的基础,无论是简单的文本显示还是复杂的交互界面,都离不开View的构建。后续的内容将深入探讨更多View控件及其自定义方法,敬请关注。
⑥ android 如何把某个view放大
如果是显示效果变大.可以用android里的动画.
如果是改变了view实际上的大小,可以得到layoutParams以后,重新设置宽高,再放回去.
⑦ android 如何设置view的大小
在这段代码中,创建了一个新的实例并且设置了尺寸:
// SET THE IMAGEVIEW DIMENSIONS
int dimens = 120;
float density = activity.getResources().getDisplayMetrics().density;
int finalDimens = (int)(dimens * density);
LinearLayout.LayoutParams imgvwDimens =
new LinearLayout.LayoutParams(finalDimens, finalDimens);
imgAlbumPhoto.setLayoutParams(imgvwDimens);
// SET SCALETYPE
imgAlbumPhoto.setScaleType(ScaleType.CENTER_CROP);
// SET THE MARGIN
int dimensMargin = 5;
float densityMargin = activity.getResources().getDisplayMetrics().density;
int finalDimensMargin = (int)(dimensMargin * densityMargin);
LinearLayout.LayoutParams imgvwMargin =
new LinearLayout.LayoutParams(finalDimens, finalDimens);
imgvwMargin.setMargins
(finalDimensMargin, finalDimensMargin, finalDimensMargin, finalDim
ensMargin);
改变已存在的ImageView尺寸,使用这个:
coupon_img.setLayoutParams(new LayoutParams(100, 100));