Activity 中心的 ProgressDialog
ProgressDialog at the center of Activity
我试图将我的 ProgressDialog 放在 Activity 的中心。
这是我的 ProgressDialog:
final ProgressDialog pd = new ProgressDialog(ActivityLoginRegistration.this, R.style.ProgressDialogStyle);
pd.setMessage(getString(R.string.Loading_message_alert));
pd.setCancelable(false);
pd.show();
这是我的风格资源:
<style name="ProgressDialogStyle">
<item name="android:layout_gravity">center</item>
<item name="colorAccent">#A5865F</item>
</style>
但是pd显示为
this
我试过你用 pd.getWindow().setGravity(Gravity.CENTER);
但它对我不起作用。
如何将 ProgressDialog 置于我的 Activity 中心?
尝试将进度对话框的全部内容更改为居中,进度对话框可能居中,但宽度可能 match parent
,因此内容不在中心:
同时添加以下行:
<item name="android:gravity">center</item>
最终样式如下:
<style name="ProgressDialogStyle">
<item name="android:layout_gravity">center</item>
<item name="android:gravity">center</item>
<item name="colorAccent">#A5865F</item>
</style>
我解决了问题。
为了更改进度条颜色,我覆盖了整个条形资源,而不仅仅是它的样式。
progressbar_handler.xml:
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="1080">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:width="48dip"
android:height="48dip" />
<gradient
android:angle="0"
android:endColor="#A5865F"
android:startColor="@android:color/transparent"
android:type="sweep"
android:useLevel="false" />
</shape>
然后我将它应用到我的 ProgressDialog 中:
ProgressDialog pd = new ProgressDialog(ActivityLoginRegistration.this);
pd.setMessage(getString(R.string.Loading_message_alert));
pd.setCancelable(false);
pd.show();
pd.setIndeterminate(true);
pd.setIndeterminateDrawable(getResources().getDrawable(R.drawable.progressbar_handler));
结果如下:image
我试图将我的 ProgressDialog 放在 Activity 的中心。
这是我的 ProgressDialog:
final ProgressDialog pd = new ProgressDialog(ActivityLoginRegistration.this, R.style.ProgressDialogStyle);
pd.setMessage(getString(R.string.Loading_message_alert));
pd.setCancelable(false);
pd.show();
这是我的风格资源:
<style name="ProgressDialogStyle">
<item name="android:layout_gravity">center</item>
<item name="colorAccent">#A5865F</item>
</style>
但是pd显示为 this
我试过你用 pd.getWindow().setGravity(Gravity.CENTER);
但它对我不起作用。
如何将 ProgressDialog 置于我的 Activity 中心?
尝试将进度对话框的全部内容更改为居中,进度对话框可能居中,但宽度可能 match parent
,因此内容不在中心:
同时添加以下行:
<item name="android:gravity">center</item>
最终样式如下:
<style name="ProgressDialogStyle">
<item name="android:layout_gravity">center</item>
<item name="android:gravity">center</item>
<item name="colorAccent">#A5865F</item>
</style>
我解决了问题。
为了更改进度条颜色,我覆盖了整个条形资源,而不仅仅是它的样式。
progressbar_handler.xml:
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="1080">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:width="48dip"
android:height="48dip" />
<gradient
android:angle="0"
android:endColor="#A5865F"
android:startColor="@android:color/transparent"
android:type="sweep"
android:useLevel="false" />
</shape>
然后我将它应用到我的 ProgressDialog 中:
ProgressDialog pd = new ProgressDialog(ActivityLoginRegistration.this);
pd.setMessage(getString(R.string.Loading_message_alert));
pd.setCancelable(false);
pd.show();
pd.setIndeterminate(true);
pd.setIndeterminateDrawable(getResources().getDrawable(R.drawable.progressbar_handler));
结果如下:image