常见问题

158 阅读1分钟

1、关于ScrollView里面包裹LinearLayout 设置权重填充满屏幕无效问题解决方法。

答:当ScrollView里的元素想填满ScrollView时,使用"fill_parent"是不管用的, 必需为ScrollView设置:android:fillViewport="true"。

2、Android中通过view.getContext获Activity。

public static Activity getActivityFromView(View view) {
  if (null != view) {
    Context context = view.getContext();
    while (context instanceof ContextWrapper) {
      if (context instanceof Activity) {
        return (Activity) context;
      }
      context = ((ContextWrapper) context).getBaseContext();
    }
  }
  return null;
}

3、Android getBackground().setAlpha遇到问题解决办法

参考Android getBackground().setAlpha遇到问题解决办法

view.getBackground().mutate().setAlpha(255);

4、Android8.0,锁定Activity的屏幕方向的同时设置该Activity背景透明会出现闪退。这个bug只有在8.0中有,8.1中已经修复。

5、获取RecyclerView的垂直滚动距离。

recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener(){
    override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
        recyclerView.computeVerticalScrollOffset()
    }
})

6、SingleTask的坑:App从后台切回前台后都会重新回到首页,并销毁其他页面

不要将你的App启动界面设置为SingleTask/SingleInstance启动模式
,因为这样App从后台切回前台后都会重新回到首页,并销毁其他页面。