A. android中的动画可以改变一个view的高和宽吗
android中有三种动画类型,分别是TweenAnimation, FrameAnimation和PropertyAnimation。
要在视觉上改变view的高和宽,只是视觉
一:可以使用TweenAnimation类型的缩放动画ScaleAnimation,但是通过实践可以发现虽然视觉上view控件是增大或者缩小了,但是触摸范围还是原来的大小,真正意义上的宽高也就是getMeasureWidth和getMeasureHeight的值并不会改变,所以不符合要求
二:使用PropertyAnimation,属性动画就是通过改变控件的属性来达到动画的效果,所以根据需求属性动画是合适的
示例代码如下
java">Viewview;
ObjectAnimatoranimator=ObjectAnimator.ofFloat(view,"scaleY",1f,2f);
animator.setDuration(1000);
animator.start();
上面代码的效果就是让view的高度拉伸一倍
只要是控件的setXXX方法可以改变view就可以使用,比如setTranslationX,setScrollY等等方法
B. android 自定义view 的高度,宽度怎么设置
Android中View是显示控件,需要用一个layout布局来装载,layout尺寸大写的设置如下:
1. 尽量使用wrap_content、match_parent、weight 来规定layout的大小。
2. 要确保布局的灵活性并适应各种尺寸的屏幕,应使用 “wrap_content” 和 “match_parent” 控制某些视图组件的宽度和高度。
3. 使用 “wrap_content”,系统就会将视图的宽度或高度设置成所需的最小尺寸以适应视图中的内容,而 “match_parent”(在低于 API 级别 8 的级别中称为“fill_parent”)则会展开组件以匹配其父视图的尺寸。
4. 如果使用 “wrap_content” 和 “match_parent” 尺寸值而不是硬编码的尺寸,视图就会相应地仅使用自身所需的空间或展开以填满可用空间。此方法可让布局正确适应各种屏幕尺寸和屏幕方向。
5. 如果某些地方必须要规定控件的大小,那么要使用dp 或者 dip单位。