Fork me on GitHub

记录开发安卓应用时的各种『坑』

目录

  1. 1. StatusBar 与 ActionBar 显示问题
  2. 2. Android模拟位置出错

在开发安卓应用过程中遇到了一些比较坑的问题,在这里记录下来。

StatusBar 与 ActionBar 显示问题

使用 windowTranslucentStatus 不显示 ActionBar 时容易出现的坑:

  • toolbar 错位到statusbar底部
  • toolbar back icon button 和 title 不在同一水平线上
  1. toolbar 错位到statusbar底部
    错误:
    view-cover-statusbar
    添加属性:android:fitsSystemWindows="true"
    调整之后:
    view-cover-statusbar

  2. toolbar back icon button 和 title 不在同一水平线上
    错误:
    error-back-icon-button-position
    将原来的android:layout_height="?attr/actionBarSize"设置 layout_height:"wrap_content"minHeight:"?attr/actionBarSize"即可。
    调整之后:
    right-position-back-button

在项目中使用了一些开源项目后,会导致本项目里的主题和第三方项目主题混乱如:
toolbar back button more[…]menu 显示颜色不对
wrong-color-icon
通常使用android:background="?attr/colorPrimaryDark",如果颜色不对,可以改为指明 color
属性即可android:background="@color/colorPrimaryDark"

Android模拟位置出错

在Android 4.4 上出现错误:

1
IllegalArgumentException: Incomplete location object, missing timestamp or accuracy?

之前使用这个工具未出现这个问题,在网上查了一下发现还是版本的问题,在android4.2之后的版本里对Location这个类做个细微的改动,增加了setElapsedRealtimeNanos和getElapsedRealtimeNanos两个方法。而上面的错误就是没有为location的实例设置ElapsedRealtimeNanos,为了能适应不同的版本,增加如下代码:

1
2
3
if(Build.VERSION.SDK_INT > 16){
location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos());
}

参考:
Android模拟位置出错

本文总阅读量