当前位置:首页 » 安卓系统 » androidview设置高度

androidview设置高度

发布时间: 2024-11-16 10:52:26

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

热点内容
沈阳解压店 发布:2024-11-16 13:28:36 浏览:170
集团云服务器 发布:2024-11-16 13:26:47 浏览:367
java源码关联 发布:2024-11-16 13:22:57 浏览:321
安卓应用保存在哪里 发布:2024-11-16 13:22:53 浏览:898
达摩数据库 发布:2024-11-16 13:12:47 浏览:964
我的世界bate版怎么开服务器 发布:2024-11-16 13:00:45 浏览:244
磁盘访问限制 发布:2024-11-16 13:00:33 浏览:289
安卓如何设计实现短信提醒 发布:2024-11-16 12:59:28 浏览:438
汇总压缩的钱多久可取 发布:2024-11-16 12:59:21 浏览:354
解析java文件 发布:2024-11-16 12:57:53 浏览:263