1

以下に示すように、Android でを表示してProgressBarいます。

代替テキスト

プログレスバーの周りに白い境界線があります。境界線を表示したくない場合はどうすればよいですか?

つまり、プログレス バー ダイアログには、プログレス バーの円とテキストだけを表示する必要があります。

以下に示すように、進行状況バーを表示するにはどうすればよいですか? (下の画像で進行状況ダイアログを検索中として表示するにはどうすればよいですか:)

代替テキスト

更新: これに対する解決策を見つけることができませんでしたが、このようにプログレス バー ダイアログを表示するには何らかのトリックが必要だと思います。つまり、styles.xml でいくつかのスタイルを拡張する方法があるはずです。誰かこの質問に集中して、そのようなダイアログを表示するのを手伝ってください。

4

2 に答える 2

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コンストラクター Dialog(context, theme) で使用すると、フレームが取得されません。

于 2010-10-16T09:39:18.280 に答える
1

これについてまだアイデアが必要ですか?アプリに同じことを実装しましたが、ダイアログとしてではなく、互いに重なる 2 つのレイアウトがありました。次に、visibility を設定して 2 つのレイアウトを切り替えます.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のでAsyncTaskonPreExecute()次のようにします。

@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);
}
于 2010-12-02T07:17:26.000 に答える