前言:其实每个Android App应用都应该有一个App在线更新的功能,这样才能及时的通知用户去更新最新版本的App。在Android P之前我一直用的都是DownloadManager来辅助进行实现,由于公司最近设备系统升级,发现原生Android 9系统无法使用DownloadManager。度娘了老半天,各种方法都折腾了一遍还是无法使用果断弃坑。经过不懈的查找终于在Github找到了开源的库并且适配到了Android 6.0,Android 7.0,Android 8.0,Android 9.0。
Github地址:
使用方式和注意事项都在这里,点赞咱们就是好兄弟,github.com/MZCretin/Au…
效果预览
俗话说有图有真相,没图说个锤子!!!
由于篇幅问题这里仅展示两种样式,更多姿势(咳,样式)自行解锁,我用的是样式TypeConfig.UI_THEME_G,如下:
但是在实际使用过程中,发现这个样式在设备中显示偏小,如下:
修改显示代码后效果如下:
看起来舒服多了,嘻嘻。
代码修改如下:
UpdateType7Activity中代码修改:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update_type7);
findView();
setDataAndListener();
WindowManager.LayoutParams attributes = getWindow().getAttributes();
Display display = getWindowManager().getDefaultDisplay();
attributes.height = (int) (display.getHeight() * 0.4);
attributes.width = (int) (display.getWidth() * 0.5);
}
layout 里的activity_update_type7中修改:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@mipmap/dialog_bg_type_7"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="5">
<TextView
android:id="@+id/tv_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="120dp"
android:layout_marginLeft="65dp"
android:paddingLeft="10dp"
android:paddingTop="2dp"
android:paddingRight="10dp"
android:paddingBottom="2dp"
android:textColor="#ffffff"
android:textSize="28sp" />
</LinearLayout>
<TextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="60dp"
android:layout_marginRight="60dp"
android:layout_weight="6"
android:gravity="center_vertical"
android:lineSpacingExtra="2dp"
android:scrollbars="vertical"
android:singleLine="false"
android:textColor="#4b4b4b"
android:textSize="22sp"
tools:text="【新增】短视频首页增加今日热门\n【新增】短视频首页增加今日热门\n【新增】短视频首页增加今日热门\n【新增】短视频首页增加今日热门\n【新增】短视频首页增加今日热门\n【新增】短视频首页增加今日热门" />
</LinearLayout>
<TextView
android:id="@+id/tv_update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="80dp"
android:layout_marginTop="25dp"
android:layout_marginRight="80dp"
android:layout_marginBottom="60dp"
android:background="@drawable/btn_bg_type_7"
android:gravity="center"
android:padding="10dp"
android:text="@string/btn_update_now"
android:textColor="#ffffff"
android:textSize="26sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-10dp"
>
<ImageView
android:id="@+id/iv_close"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:src="@mipmap/update_close_img" />
</LinearLayout>
</LinearLayout>
特作此次记录以便下次查阅。