gpt4 book ai didi

Android不确定进度对话框进度条样式

转载 作者:太空狗 更新时间:2023-10-29 16:32:00 24 4
gpt4 key购买 nike

我找不到在不确定的 ProgressDialog 中显示的进度条样式在 Android 22 和 23 之间不同的原因。

让我们采用一个非常简单的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="example.com.progressbarcolor.MainActivity">

<Button
android:id="@+id/show_progress"
android:text="Show progres"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>

<ProgressBar
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:indeterminate="true"
android:visibility="visible"/>
</RelativeLayout>

按下按钮显示ProgressDialog:

ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setIndeterminate(false);
progressDialog.setCancelable(false);
progressDialog.setCanceledOnTouchOutside(false);
progressDialog.show();

应用的风格是:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

最后是 gradle 文件:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
applicationId "example.com.progressbarcolor"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
}

正如您在下图中看到的,当直接在布局中使用时,两个应用程序显示相同的进度条,但 ProgressDialog 中的颜色不同。

在 Android 22 上,进度对话框显示绿色进度条而不是红色进度条。

联系 5,API 22

Nexus 5 - API 22

连结 5X,API 23

Nexus 5X - API 23

最佳答案

将此添加到您的样式中:

<style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog">
<!-- Used for the buttons -->
<item name="colorAccent">@color/colorAccent</item>
<!-- Used for the title and text -->
<item name="android:textColorPrimary">@color/colorPrimaryDark</item>
<!-- Used for the background -->
<item name="android:background">@android:color/transparent</item>
</style>

并设置为对话框:

ProgressDialog progressDialog = new ProgressDialog(MainActivity.this, R.style.MyAlertDialogStyle);

关于Android不确定进度对话框进度条样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36645321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com