android 自定义view 怎么设置其宽度和高度

android 自定义view 怎么设置其宽度和高度,第1张

自定义View 可以设置iji的布局,

1.在布局中设置宽高

2.在ondraw方法中绘制的view设置宽高

3.LayoutInflater设置宽高

android中有三种动画类型,分别是TweenAnimation, FrameAnimation和PropertyAnimation。

要在视觉上改变view的高和宽,只是视觉

一:可以使用TweenAnimation类型的缩放动画ScaleAnimation,但是通过实践可以发现虽然视觉上view控件是增大或者缩小了,但是触摸范围还是原来的大小,真正意义上的宽高也就是getMeasureWidth和getMeasureHeight的值并不会改变,所以不符合要求

二:使用PropertyAnimation,属性动画就是通过改变控件的属性来达到动画的效果,所以根据需求属性动画是合适的

示例代码如下

View view

ObjectAnimator 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// 设置透明度


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11277526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存