0

アプリケーションでテキストprogress bar with rounded circleとともに andを使用したいと考えています。loading....もっと探してきました。しかし、まだ明確なアイデアが得られていません。

デフォルト バー:

ここに画像の説明を入力

予想バー:

ここに画像の説明を入力

注:これは、webview の xml ファイルでのみ実行したいと考えています。誰でも私を助けてくれませんか

4

3 に答える 3

4

ページの読み込み時にカスタム ダイアログを表示し、ページの終了時に非表示にするロジックを実装できるカスタムWebView クライアントをコーディングする必要があります。

Android WebView と Indeterminant Progress Solution をご覧ください。

I want to do this only in xml file for webview. Could anybody please help me

どういう意味ですか?プログレスバーのUIを変更しますか?

はいの場合は、UI の変更に役立つ円形プログレス バーのカスタマイズに関する私のブログをご覧ください。

于 2012-08-28T06:01:37.917 に答える
-1

以下のコードを試してください:

レイアウト: main.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<WebView
    android:id="@+id/webView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

<LinearLayout
    android:id="@+id/llProgress"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"
    android:orientation="horizontal" 
    android:visibility="gone" >

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/tvMessage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp" />
</LinearLayout>

</FrameLayout>

コード: MainActivity.java

public class MainActivity extends Activity {

private LinearLayout llProgress;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    llProgress = (LinearLayout) findViewById(R.id.llProgress);
    showProgress("Loading...");
}

private void showProgress(String message) {
    ((TextView) llProgress.findViewById(R.id.tvMessage)).setText(message);
    llProgress.setVisibility(View.VISIBLE);

}

private void hideProgress() {
    ((TextView) llProgress.findViewById(R.id.tvMessage)).setText("");
    llProgress.setVisibility(View.GONE);
}

}
于 2012-08-28T05:59:03.257 に答える
-2

MyProgressDialog.class:- 呼び出し時に循環ダイアログを返すクラス。

import android.app.Dialog;
import android.content.Context;
import android.view.ViewGroup.LayoutParams;
import android.widget.ProgressBar;

public class MyProgressDialog extends Dialog {
public static MyProgressDialog show(Context context, CharSequence title,
        CharSequence message) {
    return show(context, title, message, false);
}

public static MyProgressDialog show(Context context, CharSequence title,
        CharSequence message, boolean indeterminate) {
    return show(context, title, message, indeterminate, false, null);
}

public static MyProgressDialog show(Context context, CharSequence title,
        CharSequence message, boolean indeterminate, boolean cancelable) {
    return show(context, title, message, indeterminate, cancelable, null);
}

public static MyProgressDialog show(Context context, CharSequence title,
        CharSequence message, boolean indeterminate,
        boolean cancelable, OnCancelListener cancelListener) {
    MyProgressDialog dialog = new MyProgressDialog(context);
    dialog.setTitle(title);
    dialog.setCancelable(cancelable);
    dialog.setOnCancelListener(cancelListener);
    /* The next line will add the ProgressBar to the dialog. */
    dialog.addContentView(new ProgressBar(context), new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    dialog.show();

    return dialog;
}

public MyProgressDialog(Context context) {
    super(context, R.style.NewDialog);
}
}

に配置する必要があるNewDialog のStyleString.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--=====This is the Style for the progressBar====================  -->
  <style name="NewDialog">
    <item name="android:windowFrame">@null</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowTitleStyle">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:background">@android:color/transparent</item>
  </style>
<!--============================================== -->
</resource>

さて、これをどう呼ぶProgressDialogか?? それはこの方法です:-

Dialog pd;   // Declare it on the Top of the Activity using it to make it Global.  

//Start of Dialog
pd=MyProgressDialog.show(ActivityName.this, "Loading", "");     

// To Stop the Dialog
pd.dismiss();
于 2012-08-28T05:56:30.700 に答える