Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android进度对话框不在中间,而是在底部_Java_Android_Progressdialog_Progress_Gravity - Fatal编程技术网

Java Android进度对话框不在中间,而是在底部

Java Android进度对话框不在中间,而是在底部,java,android,progressdialog,progress,gravity,Java,Android,Progressdialog,Progress,Gravity,我到处找了,什么也没找到! 我需要设置progressDialog在水平和垂直中心的位置。 但当我通过命令行编译代码时(我不使用eclipse),会显示一条错误消息: “找不到符号>重力..”。 我认为这是一个包含的问题,我导入了很多无用的文件,因为我不知道导入什么。 有人能帮我吗? 代码如下: package com.worfut.project; import android.app.Activity; import android.app.ProgressDialog; import a

我到处找了,什么也没找到! 我需要设置progressDialog在水平和垂直中心的位置。 但当我通过命令行编译代码时(我不使用eclipse),会显示一条错误消息: “找不到符号>重力..”。 我认为这是一个包含的问题,我导入了很多无用的文件,因为我不知道导入什么。 有人能帮我吗? 代码如下:

package com.worfut.project;

import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebChromeClient;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.view.KeyEvent; 
import android.view.inputmethod.EditorInfo; 
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuInflater;
import android.content.Context;
import android.content.ContextWrapper;
import android.view.ContextThemeWrapper;
import android.widget.ShareActionProvider;
import android.widget.LinearLayout;
import android.view.Window;

public class MainActivity extends Activity {


WebView WorfutWeb;
ProgressDialog progressBar;
private int progressBarStatus = 0;
private Handler progressBarHandler = new Handler();

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}



/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.main);
                 final Activity activity = this;

    WorfutWeb = (WebView) findViewById(R.id.mainWebView);

    WorfutWeb.getSettings().setSupportZoom(false);
    WorfutWeb.getSettings().setBuiltInZoomControls(false);
    WorfutWeb.setBackgroundColor(Color.BLACK);

    WorfutWeb.setWebViewClient(new myWebClient());
    WorfutWeb.getSettings().setJavaScriptEnabled(true);
        // prepare for a progress bar dialog
        progressBar = new ProgressDialog(this, R.id.mainWebView);
        progressBar.setCancelable(true);
        progressBar.setIndeterminate(false);
        progressBar.getWindow().setGravity(Gravity.CENTER);
        progressBar.setMessage("Caricamento in corso..");
        progressBar.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        progressBar.setProgress(0);
        progressBar.setMax(100);
        progressBar.show();                                                

        WorfutWeb.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, final int progress)
            {
                activity.setProgress(progress * 100);
                progressBar.setProgress(progress);

                if(progress == 100)
                {
                    progressBar.dismiss();
                }

            }
        });
    WorfutWeb.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
        {
   String html1 = "<html><body><br>";
   String html2 = "<div style='background: #007ac1; border: 2px solid lightblue; border-radius: 8px; padding: 4px;'>";
   String html3 = "<p style='font-weight: bolder;color: white;'><h2><u>Si &egrave; verificato un errore!</u></h3><br>";
   String html4 = "Possibili cause:<br><ul><li>";
   String html5 = "Non si dispone di una connessione Internet;</li><ul><li>Chiudere l'applicazione</li><li>Attivare la connessione Internet</li><li>Riavviare l'applicazione</li></ul><li>L'applicazione non risponde<ul><li>Chiudere e riaprire l'applicazione</li><li>Scriveteci sul Market Android</li></ul>";
   String html6 = "</li></ul></p><br><p align=right><font color=white><em>Worfut Staff.</em>&nbsp;</font></p></div></body></html>";
   String mime = "text/html";
   String encoding = "utf-8";
   view.loadData(html1+html2+html3+html4+html5+html6, mime, encoding);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    });
    Animation fadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
    WorfutWeb.startAnimation(fadeInAnimation);
    WorfutWeb.loadUrl("http://www.americantrip.altervista.org/try");


}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
    case R.id.menu_about:
WorfutWeb.loadUrl("http://americantrip.altervista.org/try/info.php"); 
// inside the menu button you don't need to call Super.loadUrl, LoadUrl its enough 
        return true;
    case R.id.menu_help:
WorfutWeb.loadUrl("http://americantrip.altervista.org/try/help.php"); 
// inside the menu button you don't need to call Super.loadUrl, LoadUrl its enough 
        return true;
    case R.id.menu_search:
WorfutWeb.loadUrl("http://americantrip.altervista.org/try/cerca.php"); 
        return true;
    case R.id.menu_exit:
       finish();
    default:
        return super.onOptionsItemSelected(item);
    }
}

public void onResume() {  
   super.onResume();  
   if (WorfutWeb != null) {  
    WorfutWeb.resumeTimers();  
   }  
 }  

public void onPause() {  
   super.onPause();  
   if (WorfutWeb != null) {  
    WorfutWeb.pauseTimers();  
   }  
 }  


public class myWebClient extends WebViewClient
{
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // TODO Auto-generated method stub
        view.loadUrl(url);
        return true;

    }
    @Override
    public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);
        progressBar.dismiss();
    }
}

 // To handle "Back" kewy press event for WebView to go back to previous screen.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) 
{
    if ((keyCode == KeyEvent.KEYCODE_BACK) && WorfutWeb.canGoBack()) {
        WorfutWeb.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
}
我认为这是正确的,但也许我必须导入其他东西。 谢谢你,亚尔

还有,我已经看过了 我从那里得到了“importandroid.widget.LinearLayout”。似乎是一样的,不要跑。

试试:

import android.view.Gravity;

它应该会起作用。如果这解决了您的问题,请接受答案,以便其他人可以使用它。干杯!!!!谢谢!顺便问一下,我可以在哪里学习导入什么?:>developer.android.com不写要导入的内容!没关系,没有错误,但是进度对话框仍然是底部而不是中心!:((我实际上想问你为什么不使用eclipse?你不需要担心任何导入。你可以利用你的时间专注于逻辑或设计。我现在下载它…但是它没有显示在中心:(在布局文件中,你的webview在什么样的布局(线性或相对)中)?
-compile:[javac]将2个源文件编译为/.classes[javac]/…/MainActivity.java:32:android.widget.FrameLayout.LayoutParams已在单一类型导入中定义[javac]import android.view.ViewGroup.LayoutParams;[javac]^[javac]/../MainActivity.java:76:找不到符号[javac]symbol:method setLayoutParams(android.widget.FrameLayout.LayoutParams)[javac]位置:class android.app.ProgressDialog[javac]progressBar.setLayoutParams(para);[javac]^[javac]2个错误
在编辑时给我一个错误。(仅在布局编辑不运行时)您必须导入FrameLayout Pramas而不是其他LayoutParams方法setLayoutParams(FrameLayout.LayoutParams)对于类型ProgressDialogy未定义它不接受“progressBar.setLayoutParams(para)”,Eclipse建议我“将强制转换添加到progressBar”,但我必须做什么?因为如果我单击“添加强制转换…”,行将更改为“((WebView)progressBar)。setLayoutParams(para);“现在错误是“无法从ProgressDialog到WebView进行强制转换”。谢谢!!!!!!!!!!!!!!!!!!!!!!!!!”!!!!!!!!!!!!!!!!!!
    progressBar.getWindow().setGravity(Gravity.CENTER);
import android.view.Gravity;
    <LinearLayout 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/sfondo" 
    > 
    > 
    <WebView android:id="@+id/mainWebView" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
         /> 
 </LinearLayout>
                    FrameLayout.LayoutParams para=new FrameLayout.LayoutParams(
                        LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT );
                para.gravity = Gravity.CENTER;
                progressBar.setLayoutParams(para);