2010-10-05 53 views
1

我在顯示Android的一個ProgressBar,如下所示:進度對話框無國界

alt text

,但有一個白色邊框圍繞進度條。如果我不想顯示任何邊框?

即,只有進度條圓圈和文本應顯示在進度條對話框中。

如何顯示進度條,如下所示? (如何顯示進度對話框,下面的圖片:)在搜索

alt text

更新: 我沒能找到一個解決方案,但我認爲應該有一些訣竅以這種方式顯示進度條對話框。我的意思是說,在styles.xml中擴展一些樣式應該有一種方法。請有人關注這個問題,並幫助我展示這樣的對話。

+0

你能給個方向嗎?你知道這個對話框中使用的是什麼嗎?最喜歡的是,這個樣式將在ProgressDialog類中定義,或者它被隱藏起來的樣式。一旦你知道你可以將這些樣式進行掃描,並檢查你想覆蓋的屬性。 – codeScriber 2010-10-15 11:09:49

+0

哦,差點忘了:1.如果你需要我的電腦上的代碼,雖然它可以通過gitweb ... 2.我會看看小部件本身的代碼,最chnaces它只是使用一些drawable您可以在TripAdvisor應用程序中使用和使用自己的小部件。 3。最後但並非最不重要;-)嘗試使用android:background =「transparent」 – codeScriber 2010-10-15 11:31:31

回答

2

一些實驗我有以下後:

<?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構造函數一起使用:對話框(上下文,主題)不會獲得框架。

+0

thanx支持 – 2010-10-27 11:40:11

1

你還需要爲這個想法嗎?我在我的應用程序中實現了相同的功能,但不是作爲對話框,我有兩個相互重疊的佈局。然後我通過設置可見性.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> 

我用這個佈局的ActivityAsyncTask,所以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); 
} 
+0

嗨thanx讓我知道一個更多的方法,但我仍然需要實現相同的,我didn完全是你的想法,你可以發佈整個XML文件的相同佈局? – 2010-12-02 09:06:18

+0

昨天我編輯了我的答案,以進一步解釋。 – Zarah 2010-12-03 18:07:25