Android开发中常用小方法

是不是经常有小伙伴在Activity的onCreate()方法中获取View的尺寸,结果通通为0,没错,此时就没有办法了吗?NO,下面这种方法就可以帮你简单的解决这些问题。

int width = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
int height = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
view.measure(width, height);
int measuredWidth = view.getMeasuredWidth();
int measuredHeight = view.getMeasuredHeight();
ps:当然了你还可以通过添加ViewTreeObserver的2种方法也是可以的,记得要及时移除监听吆。方法没有最好,只有合适,根据情形选择合适的。

获取像素密度(非分辨率)

DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
float density = displayMetrics.density;//像素密度

获取系统认为的滑动距离阈值:

int scaledTouchSlop = ViewConfiguration.get(this).getScaledTouchSlop();

获取手指滑动速度:

VelocityTracker velocityTracker = VelocityTracker.obtain();
velocityTracker.addMovement(event);

velocityTracker.computeCurrentVelocity(1000);//1000毫秒内滑动的距离,有正和负之分

float xVelocity = velocityTracker.getXVelocity();
float yVelocity = velocityTracker.getYVelocity();

return true;

在Application中获取屏幕尺寸(分辨率)

WindowManager windowManager = (WindowManager) getSystemService(this.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(dm);
widthPixels = dm.widthPixels;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值