1.在布局中设置宽高
2.在ondraw方法中绘制的view设置宽高
3.LayoutInflater设置宽高
android中有三种动画类型,分别是TweenAnimation, FrameAnimation和PropertyAnimation。
要在视觉上改变view的高和宽,只是视觉
一:可以使用TweenAnimation类型的缩放动画ScaleAnimation,但是通过实践可以发现虽然视觉上view控件是增大或者缩小了,但是触摸范围还是原来的大小,真正意义上的宽高也就是getMeasureWidth和getMeasureHeight的值并不会改变,所以不符合要求
二:使用PropertyAnimation,属性动画就是通过改变控件的属性来达到动画的效果,所以根据需求属性动画是合适的
示例代码如下
View viewObjectAnimator animator = ObjectAnimator.ofFloat(view, "scaleY", 1f,2f)
animator.setDuration(1000)
animator.start()
上面代码的效果就是让view的高度拉伸一倍
只要是控件的setXXX方法可以改变view就可以使用,比如setTranslationX,setScrollY等等方法
//在代码中设置控件大小的方法private Button mbtn
mbtn = (Button) findViewById(R.id.btn_test)
LayoutParams lp
lp=mbtn.getLayoutParams()
lp.width=100
lp.height=200
mbtn.setLayoutParams(lp)
//在代码中设置界面大小的方法:
Display display = getWindowManager().getDefaultDisplay()// 为获取屏幕宽、高
Window window = getWindow()
LayoutParams windowLayoutParams = window.getAttributes()// 获取对话框当前的参数值
windowLayoutParams.width = (int) (display.getWidth() * 0.7)// 宽度设置为屏幕的0.95
windowLayoutParams.height = (int) (display.getHeight() * 0.1)// 高度设置为屏幕的0.6
windowLayoutParams.alpha = 0.5f// 设置透明度
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)