gpt4 book ai didi

android - ActionBar 中的进度条

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:03 27 4
gpt4 key购买 nike

我正在使用一个应用程序,它将在应用程序内部加载一个网站。现在我想在操作栏中添加一个 ProgressBar,而无需向上滑动以抑制功能。

像那样

enter image description here

我在我的应用中使用了 Fragment

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_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);

UPDATE 应该在哪里请求窗口功能

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_main);
.... // other code goes here
}

当你想运行它的时候调用这个方法

在 fragment 中编辑 您可以在 requestWindowFeature 之前添加 getActivity()getActivity().requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS) ;

 setProgressBarIndeterminateVisibility(true); // turn progress on

setProgressBarIndeterminateVisibility(false); // turn progress off

希望这项工作,我建议使用工具栏

<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>

Why I recommended toolbar with ProgressBar ?

有两个原因,第一 setSupportProgressBarIndeterminate已弃用。

第二 易于使用只需设置setVisibility 方法使其可见调用setVisibility(View.VISIBLE);隐藏 View 调用 setVisibility(View.GONE);

关于android - ActionBar 中的进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35547729/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com