android view可见性判断(判断是否在屏幕中显示)

 

//java
class UIUtils {
  public static int getScreenWidthInPx(Context context) {
  DisplayMetrics dm = context.getApplicationContext().getResources().getDisplayMetrics();
  return dm.widthPixels;
  }

  public static int getScreenHeightInPx(Context context) {
  DisplayMetrics dm = context.getApplicationContext().getResources().getDisplayMetrics();
  return dm.heightPixels;
  }
}
//kotlin
fun isVisi(){
  var sH = UIUtils.getScreenHeightInPx(activity)
  var sW = UIUtils.getScreenWidthInPx(activity)
  val location = IntArray(2)
  view.getLocationInWindow(location);
  var a = location[0] < sW
  var b = location[1] < sH
  if(a && b){
    //在屏幕中是可见的
    // todo something
    return true
  }
  return false
}

 

posted @ 2022-05-13 18:13  野生野鸡码农  阅读(1673)  评论(0编辑  收藏  举报