2012-04-04 6 views
0

私は、TableLayoutを保持するScrollViewを持っています。 AsyncTaskが私のためにデータを取得し終えると、テーブルレイアウトがプログラムでアクティブになります。次に、メソッドは、返されるデータの量に基づいてTableRowsを構築し、TableLayoutにそれらを接続します。Center Vert。 &Horiz。 TableLayout内のProgressBar?

XMLでは、TableLayout内の唯一の項目はProgressBarです。ここではXMLです:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/electionsScrollView" android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 


    <TableLayout android:id="@+id/electionsQuestionContainer" 
     android:layout_width="match_parent" android:layout_height="wrap_content"> 

     <ProgressBar android:id="@+id/electionsProgressBar" 
      style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" 
      android:layout_height="match_parent" android:layout_gravity="center_vertical|center_horizontal" /> 

    </TableLayout> 
</ScrollView> 

scrollviewが一つだけのアイテム(tablelayout)をホストできるように私は明らかに、右のscrollviewの内側にプログレスバーを置くことはできません。 progressBar.setVisibility(View.GONE);を実行しているAsyncTaskよりも削除するのが面倒だと思うので、テーブル行にProgressBarを配置したくないと思います。だから、tableRowは私の唯一の選択肢ですか、私のProgressBarが画面の中央に縦横にセンタリングしていない理由がありますか?

答えて

0

私は約半分です。 TableLayoutのlayout_gravityを変更することによって:

しかし、プログラムで行を追加すると外観が損なわれます。どのGravity.CONSTANTがtableLayoutをデフォルトに戻すか誰にも分かりますか? TableLayoutのlayout_gravityのために何も設定していないとき、それは完璧に見えました。だから今、私は好きなようにProgressDialogを正確に見ていますが、人口が多い行は正しく見えません。どうしましたか?一番上のtablerowは画面の上部から約半分です(言い換えれば、最初のテーブル行の半分しか見ることができず、残りは画面の上部から外れていて、手が届くまでスクロールできません)。

2つの別々のレイアウトを使い、古いものを削除しました。

関連する問題