Android ActionBar中的Progressbar
我正在使用一个应用程序,它将在应用程序中加载一个网站。现在我想在操作栏中添加一个ProgressBar,而无需向上滑动以抑制功能 像那样Android ActionBar中的Progressbar,android,progress-bar,Android,Progress Bar,我正在使用一个应用程序,它将在应用程序中加载一个网站。现在我想在操作栏中添加一个ProgressBar,而无需向上滑动以抑制功能 像那样 public class WebviewFragment extends Fragment { WebView webView; String newslink; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,
public class WebviewFragment extends Fragment {
WebView webView;
String newslink;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_webview, container, false);
newslink = getArguments().getString("LINK");
webView = (WebView) view.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(newslink);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return false;
}
});
return view;
}
}
我正在我的应用程序中使用片段
WebviewFragment
public class WebviewFragment extends Fragment {
WebView webView;
String newslink;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_webview, container, false);
newslink = getArguments().getString("LINK");
webView = (WebView) view.findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(newslink);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
return false;
}
});
return view;
}
}
fragment\u webview.XML
<?xml version="1.0" encoding ="utf-8"?
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView" />
</LinearLayout>
如果要向actionbar添加进度,请在setlayout之前调用此方法
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
更新应在何处请求窗口功能
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
.... // other code goes here
}
并在需要运行此方法时调用它
在片段中编辑您可以在requestWindowFeature
之前添加getActivity()
成为getActivity().requestWindowFeature(Window.FEATURE\u不确定\u进度)代码>
希望这项工作,我推荐使用工具栏
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/material_green_500"
android:minHeight="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<ProgressBar
android:id="@+id/toolbar_progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateTint="#795548"
android:indeterminateTintMode="src_in"
android:layout_gravity="right"
/>
</android.support.v7.widget.Toolbar>
已弃用
Second易于使用只需设置setVisibility
方法使其可见调用setVisibility(View.visible)代码>
隐藏视图调用setVisibility(view.GONE)代码>用户请求窗口功能(窗口功能\u不确定\u进度);阅读更多requestWindowFeature(Window.FEATURE\u不确定\u进度)
此代码将放置在webviewFragment中的何处?错误是在添加内容之前必须调用-requestFeature(),我将更新我的答案。先生,请阅读我的推荐,我正在使用碎片。