プログレスサークルをTextViewにアタッチして表示する必要がありますが、他の画面コンポーネントをタップするのに抵抗しないようにする必要があります。この進捗状況ダイアログをテキストビューに添付して表示
どれ手がかりのようなもの?
プログレスサークルをTextViewにアタッチして表示する必要がありますが、他の画面コンポーネントをタップするのに抵抗しないようにする必要があります。この進捗状況ダイアログをテキストビューに添付して表示
どれ手がかりのようなもの?
テキストビューとプログレスバーウィジェットを適切なレイアウトにラップします。ここのProgressBarの詳細: http://developer.android.com/reference/android/widget/ProgressBar.html
このようなことはTextView IMOだけではできません。このような効果を模倣する最善の方法は、TextviewとImageview(水平方向)でLinearLayoutを持つことだと思います。イメージビューを最初は見えないようにする。条件付きで画像ビューの表示を切り替えます。つまり、アクションが開始されると、可視性を設定し、アクションが終了したら、再び非表示にします。アイデアが得られたら幸いです。でframeLayoutように、外側のレイアウトを設定
のTextView /のEditTextとプログレスバーが(layout gravity "Right")
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/TextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="24dp"
android:text="Getting Location"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="12dp" >
<requestFocus />
</TextView>
<ProgressBar
android:id="@+id/ProgressBar01"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:layout_marginRight="4dp" />
</FrameLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp" >
<EditText
android:id="@+id/EditText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="24dp"
android:text="http://example.com"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="12dp" />
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:layout_marginRight="4dp" />
</FrameLayout>
を設定内で、私はこのような何かを行っているが、それは同様にアイコンが含まれています。これを探している人のための準備ができたコードがあります。
レイアウトの使用では<LinearLayout
android:id="@+id/my_element"
android:layout_width="match_parent"
android:layout_marginLeft="20dp"
android:layout_marginTop="5dp"
android:layout_height="20dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_action_place"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:textColor="@color/black"
android:textSize="12sp"
android:gravity="center_vertical"
android:text=""/>
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="20dp"
style="@android:style/Widget.ProgressBar.Small"
android:layout_marginRight="5dp" />
</LinearLayout>
これはTextViewに(ちょうど蹴りのための前にある追加アイコン)と小型スピニングプログレスバーが含まれているのLinearLayoutです。アクティビティ/フラグメントで
対応のonCreate/onCreateView AsyncTaskのonPostExecuteで
llMyElement = (LinearLayout) view.findViewById(R.id.my_element);
を使用するか、プロセス・コールsetLoadingText(llMyElement, “Some Result");
LinearLayout llMyElement;
を追加
アクティビティクラスまたはUtilクラスなどの適切な場所にテキストを設定するこのヘルパ関数を含めます。
public void setLoadingText(LinearLayout layout, String text)
{
int count = layout.getChildCount();
for(int i = 0; i < count; i++)
{
if(layout.getChildAt(i) instanceof TextView)
((TextView) layout.getChildAt(i)).setText(text);
if(layout.getChildAt(i) instanceof ProgressBar)
layout.getChildAt(i).setVisibility(View.GONE);
}
}
これはそれです..お楽しみください!
FrameLayout
内に置く:
<FrameLayout
android:layout_width="0dp"
android:layout_height="100dp"
android:layout_weight="1">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/my_info_card"
android:gravity="center"
android:layout_gravity="center"/>
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Small"
android:layout_gravity="center"/>
</FrameLayout>
ProgressBar
がTextView
の上に表示されます。この道を。確かに、いつでもProgressBarを非表示にすることができます。setVisibility()
。各レイアウトの重力をandroid:layout_gravity
で設定することもできます。それはこのようになります上記の例では:あなたが探しているものを
progressdialogプログレスバーとではありません。 –
絶対に画面の上に表示され、他のコンポーネントをブロックするのではなく、単にテキストビューに表示したいだけです。 –