我ProgressBar
在 Android 中显示 a,如下所示:
但是进度条周围有一个白色边框。如果我不想显示任何边框怎么办?
即,只有进度条圆圈和文本应该显示在进度条对话框中。
如何显示如下所示的进度条?(如何在下图中将进度对话框显示为正在搜索:)
更新: 我没有找到解决方案,但我认为应该有一些技巧以这种方式显示进度条对话框。我的意思是说应该有一种方法可以在styles.xml 中扩展一些样式。请任何人关注这个问题并帮助我显示这样的对话框。
我ProgressBar
在 Android 中显示 a,如下所示:
但是进度条周围有一个白色边框。如果我不想显示任何边框怎么办?
即,只有进度条圆圈和文本应该显示在进度条对话框中。
如何显示如下所示的进度条?(如何在下图中将进度对话框显示为正在搜索:)
更新: 我没有找到解决方案,但我认为应该有一些技巧以这种方式显示进度条对话框。我的意思是说应该有一种方法可以在styles.xml 中扩展一些样式。请任何人关注这个问题并帮助我显示这样的对话框。
经过一些实验,我得到了以下结果:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="my_style" parent="@android:style/Theme.Dialog" >
<item name="android:windowBackground">@null</item>
</style>
</resources>
如果我使用这个主题作为Activity
我没有框架的风格。如果您将其与Dialog
构造函数一起使用: Dialog(context, theme) 您将没有框架。
你还需要这个想法吗?我在我的应用程序中实现了同样的东西,但不是作为对话框,我有两个相互重叠的布局。然后我通过设置 visibility 在两个布局之间切换.setVisibility()
。至于实际进度条本身,我使用这个:
编辑:这是我的整个 XML 文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="@drawable/background">
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/search_header" android:background="@drawable/header">
<!-- Some things I need for the header (title, etc) -->
</RelativeLayout>
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"
android:id="@+id/spinner_layout" android:layout_below="@+id/search_header"
android:layout_centerHorizontal="true" android:layout_centerVertical="true">
<ProgressBar android:id="@+id/title_progress_bar"
style="?android:attr/progressBarStyleSmallTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:visibility="visible"
android:indeterminateOnly="true"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/loading_label" android:text="Loading..."
android:layout_gravity="center_vertical" android:layout_marginLeft="5dip">
</TextView>
</LinearLayout>
<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_below="@+id/search_header" android:id="@+id/list_contents">
<!-- Stuff you want to show after returning from the AsyncTask -->
</RelativeLayout>
</RelativeLayout>
我将此布局用于Activity
带有 的AsyncTask
,因此onPreExecute()
,我执行以下操作:
@Override
protected void onPreExecute(){
findViewById(R.id.list_contents).setVisibility(View.GONE);
findViewById(R.id.spinner_layout).setVisibility(View.VISIBLE);
}
然后做我必须做的任何事情,onPostExecute()
我有:
@Override
protected void onPostExecute(Cursor cursor){
findViewById(R.id.list_contents).setVisibility(View.VISIBLE);
findViewById(R.id.spinner_layout).setVisibility(View.GONE);
}