进度显示自定义微调器,但也是一个栏
progress show custom spinner but also a bar
出于某种原因 - 当 运行 我的应用程序 - 正在处理(服务器请求)时 - 我看到我的自定义微调器(好的)还有一个栏...我不明白为什么..
并非在所有设备中都会发生...
这是我的代码:
public ServerRequests(Context context) {
progressDialog = new Dialog(context);
progressDialog.setCancelable(false);
progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
progressDialog.setContentView(R.layout.progress_spinner);
}
progress_spinner.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:indeterminateDrawable="@drawable/progress"/>
</RelativeLayout>
progress.xml
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5"
android:toDegrees="1080">
<shape
android:shape="ring"
android:innerRadiusRatio="3"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:height="48dip"
android:width="48dip" />
<gradient
android:endColor="#cdcd00"
android:startColor="@android:color/transparent"
android:type="sweep"
android:angle="0"
android:useLevel="false" />
</shape>
</rotate>
这个栏实际上是对话框标题栏分隔线。它不存在于棒棒糖或更高版本但它确实存在于 ics to kk
所以你只需要像这样将它设置为透明:
progressDialog = new Dialog(context);
progressDialog.setCancelable(false);
progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
progressDialog.setContentView(R.layout.progress_spinner);
if (android.os.Build.VERSION.SDK_INT <= 19 && android.os.Build.VERSION.SDK_INT >= 14) {
int dividerId = progressDialog.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
View divider = progressDialog.findViewById(dividerId);
divider.setBackgroundColor(Color.TRANSPARENT);
}
阅读更多:How to change alert dialog header divider color android
出于某种原因 - 当 运行 我的应用程序 - 正在处理(服务器请求)时 - 我看到我的自定义微调器(好的)还有一个栏...我不明白为什么.. 并非在所有设备中都会发生...
这是我的代码:
public ServerRequests(Context context) {
progressDialog = new Dialog(context);
progressDialog.setCancelable(false);
progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
progressDialog.setContentView(R.layout.progress_spinner);
}
progress_spinner.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:indeterminateDrawable="@drawable/progress"/>
</RelativeLayout>
progress.xml
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5"
android:toDegrees="1080">
<shape
android:shape="ring"
android:innerRadiusRatio="3"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:height="48dip"
android:width="48dip" />
<gradient
android:endColor="#cdcd00"
android:startColor="@android:color/transparent"
android:type="sweep"
android:angle="0"
android:useLevel="false" />
</shape>
</rotate>
这个栏实际上是对话框标题栏分隔线。它不存在于棒棒糖或更高版本但它确实存在于 ics to kk
所以你只需要像这样将它设置为透明:
progressDialog = new Dialog(context);
progressDialog.setCancelable(false);
progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
progressDialog.setContentView(R.layout.progress_spinner);
if (android.os.Build.VERSION.SDK_INT <= 19 && android.os.Build.VERSION.SDK_INT >= 14) {
int dividerId = progressDialog.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
View divider = progressDialog.findViewById(dividerId);
divider.setBackgroundColor(Color.TRANSPARENT);
}
阅读更多:How to change alert dialog header divider color android