我有一个ProgressBar作为WebView的孩子,工作正常。
问题是当我向上滚动WebView时,进度条会隐藏。 这是我的activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ionicframework.VendeeTouch.MainActivity">
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ProgressBar
android:id="@+id/progressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_x="5dp"
android:layout_y="26dp"
android:padding="2dip"></ProgressBar>
<TextView
android:id="@+id/tV1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="119dp"
android:layout_y="286dp"
android:text="Loading, please wait . . ."
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#000000"></TextView>
</WebView>
</RelativeLayout>
如何将它固定在顶部,这样当我向下滚动时它不会隐藏?
答案 0 :(得分:0)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.ionicframework.VendeeTouch.MainActivity"
android:orientation="vertical" >
<ProgressBar
android:id="@+id/progressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_x="5dp"
android:layout_y="26dp"
android:padding="2dip"></ProgressBar>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/tV1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="119dp"
android:layout_y="286dp"
android:text="Loading, please wait . . ."
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#000000"></TextView>
</WebView>
</LinearLayout>
答案 1 :(得分:0)
将windowSoftInputMode设置为 adjustResize ,以用于您在其中使用此Web视图的活动。它会调整屏幕。
<activity android:name=".Your Activity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
</activity>
答案 2 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary" >
<LinearLayout
android:layout_width="match_parent"
android:id="@+id/removeWebView"
android:background="@color/colorPrimary"
android:orientation="vertical"
android:layout_centerHorizontal="true"
android:layout_height="match_parent">
<WebView
android:id="@+id/webViewPage"
android:background="@color/colorAccent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="37dp"
android:layout_height="37dp"
android:gravity="center"
android:indeterminateDrawable="@drawable/circularprogressbar_webkit"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
use above xml and enjoy
circularprogressbar_webkit.xml in drawable
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360" >
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="9"
android:useLevel="false" >
<size
android:width="76dip"
android:height="76dip" />
<gradient
android:angle="0"
android:endColor="@color/colorAccent"
android:startColor="@color/colorPrimary"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
答案 3 :(得分:0)
将ProgressBar置于WebView之外
<ProgressBar
android:id="@+id/progressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="2dip" />
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/progressbar">
<TextView
android:id="@+id/tV1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Loading, please wait . . ."
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#000000" />
</WebView>
加载完成后,您可以将高度设置为0。 像这样
ProgressBar p=(ProgressBar)findViewById(R.id.progress);
p.setLayoutParams(new LinearLayout .LayoutParams(LinearLayout .LayoutParams.MATCH_PARENT,0));