我有这段代码才能显示进度对话框:
@Override
public void onPreExecute() {
if(progress == null)
progress = ProgressDialog.show(MainActivity2.this, null , null);
progress.setContentView(R.layout.progressbar_activity);
}
这是我的progressDialog布局。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Small.Inverse"
android:layout_marginRight="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading" />
</LinearLayout>
这是我的主要活动布局:
<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:background="@android:color/white"
android:orientation="vertical"
tools:context=".MainActivity" >
<LinearLayout
android:id="@+id/tittle_bar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="6dip" >
<Button
android:id="@+id/start_progress"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello_world" />
</LinearLayout>
</RelativeLayout>
如您所见,背景颜色为白色。
当我点击mainActivity中的按钮时,会出现进度对话框,但页面的背景颜色变为灰色。
--------&gt;
我希望它默认为白色,进度对话框文本为黑色。我错过了什么?
答案 0 :(得分:1)
我通过在主Activity布局中添加<include layout="@layout/progress_bar" />
解决了我的问题。
然后我在progressDialog布局中为Progress Dialog命名,例如android:id="@+id/progress_bar
。
然后用这段代码,我隐藏了对话框:
@Override
protected void onPostExecute(String result) {
ProgressBar progressBar = (ProgressBar) findViewById(R.id.progress_bar);
progressBar.setVisibility(View.GONE);
}
答案 1 :(得分:0)
您可以使用可绘制文件
执行此操作步骤 - 1)
main.xml :(将其添加到main.xml中):
<ProgressBar
android:id="@+id/ProgressBar01"
android:layout_width="121dp"
android:layout_height="15dp"
android:progress="50"
android:max="100"
android:secondaryProgress="0"
style="?android:attr/progressBarStyleHorizontal"
android:progressDrawable="@drawable/myprogressbar"
android:layout_marginTop="10dp"
/>
步骤 - 2) myprogressbar.xml(将此xml保存在drawable文件夹中)
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<corners android:radius="25dip" />
<gradient android:startColor="#C0C0C0" android:centerColor="#F8F8FF"
android:centerY="0.75" android:endColor="#ffffff" android:angle="90" />
<stroke android:width="1dp" android:color="#6B8E23" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="25dip" />
<gradient android:startColor="#9ACD32" android:endColor="#FFFF00"
android:angle="90" />
<stroke android:width="1dp" android:color="#6B8E23" />
</shape>
</clip>
</item>
</layer-list>
答案 2 :(得分:0)
<RelativeLayout
android:id="@+id/splashprogressBar"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ProgressBar
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
style="?android:attr/progressBarStyleInverse"
android:progressBarStyle="@android:attr/progressBarStyleLarge"/>
</RelativeLayout>
RelativeLayout layout = (RelativeLayout) inflater.inflate(
R.layout.splash_progress, null);
layout.setBackgroundColor("#336C10".hashCode());
答案 3 :(得分:0)
尝试使用progressDialog布局,为主LinearLayout
使用透明背景,为TextView
使用黑色。
像这样:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="#00000000">
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Small.Inverse"
android:layout_marginRight="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading"
android:textColor="#000000" />
</LinearLayout>