1

キャンセル ボタンとプログレス バーを持つ LinearLayout があります。プログレス バーは 70% で、キャンセル ボタンは 30% です。

<LinearLayout android:orientation="horizontal"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
  >

 <ProgressBar
     android:id="@+id/uploadProgressBar"
     style="?android:attr/progressBarStyleHorizontal"
     android:layout_width="0dp"
     android:layout_weight=".7"
     android:layout_height="wrap_content"
     android:layout_gravity="center_vertical"
     />
 <Button
     android:id="@+id/uploadCancelButton"
     style="@style/TitleBarButton"
     android:layout_width="0dp"
     android:layout_weight=".3"
     android:layout_height="wrap_content"
     android:text="@string/cancel_btn"
     android:layout_gravity="center_vertical"

      />

 </LinearLayout>

これはうまくいきますが、実際にはプログレスバーまたはテキストビューを表示したいことに気付きました.テキストビューは小さなステータスメッセージになる可能性があります(アップロードが失敗した場合)。

上記の LinearLayout に TextView を配置し、デフォルトで可視性を「gone」に設定し、重みをプログレスバーと同じに設定してみました。コードでは、プログレス バーを表示またはテキスト ビューに設定し、もう一方を非表示に設定します。ただし、Android システムは、目に見えないアイテムの重量を合計に寄与しているように見えました。LinearLayout xml 属性で android:weightSum="1.0" を使用してみましたが、テキストがなくなってもスペースが必要だったため、ボタンが表示されなくなりました。

4

1 に答える 1

2

ViewFlipperはあなたが探しているものです。

使い方はとても簡単です。切り替えたいビューは、XML内のレイアウト内に配置するのとまったく同じ方法でViewFlipper内に配置します。次に、コードから、ビューを含むオブジェクトを呼び出しsetDisplayedChild()ますViewFlipper。このメソッドのパラメーターは、表示するビューのインデックスです。

于 2012-09-04T17:53:26.357 に答える