android的ProgressBar问题:如何设置ProgressBar的宽度?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android的ProgressBar问题:如何设置ProgressBar的宽度?相关的知识,希望对你有一定的参考价值。
我知道长度是 android:layout_width="200dip"
进度条的宽度(就是进度条的高度)如何设置?
如果你不明白什么叫层次剪切图,可以查看android文档,特别是通过该层次剪切图你可以自由调整进度条的样子,不仅仅是大小的值。追问
能给具体讲解下吗?层次剪切图怎么用?
参考技术A style="@android:style/Widget.ProgressBar.Horizontal"用这个style就可以了 参考技术B android:maxHeight="6dp"android:minHeight="6dp" 参考技术C 我也遇到同样的问题,不知你的解决了没有? 参考技术D android:layout_width="200dip"android:layout_height="wrap_content"追问
不行还是很细
ProgressBar 没有出现在位于 Fragment 的 WebView 中,如何在 WebView android 中显示 ProgressBar?
【中文标题】ProgressBar 没有出现在位于 Fragment 的 WebView 中,如何在 WebView android 中显示 ProgressBar?【英文标题】:ProgressBar does not appear in WebView located in Fragment ,how to show ProgressBar in WebView android? 【发布时间】:2020-02-25 17:36:59 【问题描述】:每当我输入片段时,都会显示几秒钟的空白区域,然后显示 WebView 中的网页。 ProgressBar 好像没有显示。
这是我的 WebView 和 ProgressBar 所在片段的 XML 文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".FragmentThree">
<ProgressBar
android:id="@+id/progressbar"
style="@style/Widget.AppCompat.ProgressBar"
android:layout_
android:layout_
android:layout_alignParentStart="true"
android:layout_centerVertical="true"/>
<WebView
android:id="@+id/webview"
android:layout_
android:layout_>
</WebView>
</RelativeLayout>
这是 Fragment Java 实现的 Java 文件:
package com.example.task1;
import android.content.Context;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
public class FragmentThree extends Fragment
private WebView webView;
private String URL;
private ProgressBar progressBar;
private OnFragmentInteractionListener mListener;
public FragmentThree(String url)
// Required empty public constructor
this.URL = url;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_three, container, false);
initMain(view);
return view;
private void initMain(View view)
webView = view.findViewById(R.id.webview);
progressBar = view.findViewById(R.id.progressbar);
progressBar.setMax(100);
webView.loadUrl(URL);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient()
@Override
public void onProgressChanged(WebView view, int newProgress)
progressBar.setProgress(newProgress);
);
// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed(Uri uri)
if (mListener != null)
mListener.onFragmentInteraction(uri);
@Override
public void onAttach(Context context)
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener)
mListener = (OnFragmentInteractionListener) context;
else
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
@Override
public void onDetach()
super.onDetach();
mListener = null;
public interface OnFragmentInteractionListener
// TODO: Update argument type and name
void onFragmentInteraction(Uri uri);
代码大部分位于 initMain() 函数下,以便澄清。
非常感谢任何建议,感谢您的阅读!
【问题讨论】:
在xml中尝试将进度条放在webview下方,否则webview会在进度条上方并覆盖它。 @JoachimHaglund 哦,我的上帝。编辑:也感谢您指出这一点。 【参考方案1】:像这样在Webview
下面声明ProgressBar
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".FragmentThree">
<WebView
android:id="@+id/webview"
android:layout_
android:layout_>
</WebView>
<ProgressBar
android:id="@+id/progressbar"
style="@style/Widget.AppCompat.ProgressBar"
android:layout_
android:layout_
android:layout_centerVertical="true"/>
</RelativeLayout>
【讨论】:
是的,刚刚从上面的评论中这样做了。不过谢谢你的回答!粗心大意是我的错。以上是关于android的ProgressBar问题:如何设置ProgressBar的宽度?的主要内容,如果未能解决你的问题,请参考以下文章
android的ProgressBar问题:如何设置ProgressBar的宽度?
ProgressBar 没有出现在位于 Fragment 的 WebView 中,如何在 WebView android 中显示 ProgressBar?
如何在 Android 上更改默认 ProgressBar 圆圈颜色
如何在确定模式下使用 Android ProgressBar?