android - 使用 ScrollView 时无法显示圆形进度条
问题描述
目前我正在尝试让自定义环形进度条在 23 级及以下的 android sdk 上正确显示。它们在 android SDK 25+ 上完美运行。
我使用自定义库来找到此处的圆形进度条:https ://github.com/HotBitmapGG/RingProgressBar ,在 android lolipop 上方,布局如下所示:
但是在 android lolipop 上,下面看到的 scrollView 会破坏环,因此它们不会出现:
如果我删除进度条下方的滚动视图,它们会再次开始工作,我不知道为什么会这样。此外,如果我在其中一个相对布局上调用 View.GONE(),则环会再次出现。我相当确定这是因为 scrollView 没有被使用,因为一切都适合屏幕。这是我的 XML:(中间部分非常重复)
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
>
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipeRefresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:background="@color/Background"
android:theme="@android:style/Theme.Black.NoTitleBar"
android:fillViewport="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:background="@color/Background"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
android:elevation="10dp"
android:minHeight="@dimen/Toolbar_Height"
android:uiOptions="splitActionBarWhenNarrow"/>
<!--Average-->
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".Average"
android:id="@+id/relativeLayoutAverage"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="5"
android:background="@color/Background"
android:paddingBottom="5dp"
android:paddingTop="0dp"
android:paddingEnd="50dp"
android:paddingStart="50dp"
android:layout_marginBottom="10dp"
android:minHeight="@dimen/Average_Row_Height"
>
<TextView
android:id="@+id/AverageText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:background="@drawable/circle"
android:fontFamily="@font/roboto_mono"
android:text="@string/Average"
android:textColor="@color/AverageTextColor"
android:textSize="16sp"
android:textStyle="bold"
android:paddingTop="2dp"
/>
<io.netopen.hotbitmapgg.library.view.RingProgressBar
android:id="@+id/AverageBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="115dp"
android:layout_below="@id/AverageText"
android:layout_marginTop="5dp"
android:elevation="15dp"
app:max="101"
app:ringDiameter="115"
app:ringColor="@android:color/transparent"
app:ringProgressColor="@color/AverageBarColor"
app:ringWidth="12dp"
app:style="STROKE"
app:textColor="@color/TextColor"
app:textIsShow="false"
app:textSize="26sp" />
<TextView
android:id="@+id/AverageInt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/AverageText"
android:layout_centerHorizontal="true"
android:fontFamily="@font/roboto"
android:layout_marginTop="47dp"
android:text=""
android:textColor="@color/TextColor"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
<!--Ta buttons-->
<!--Button 1-->
<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_bg_rectangle_solid"
android:minHeight="@dimen/Row_Height"
android:clickable="true"
android:elevation="3dp"
android:layout_marginTop="0dp"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="4dp"
>
<TextView
android:id="@+id/Period"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:textStyle="normal"
android:fontFamily="@font/roboto_mono"
android:layout_marginTop="3dp"
android:textSize="20sp"
android:text="Period 1:"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textColor="@color/SecondaryTextColor"
/>
<TextView
android:id="@+id/RoomNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/Period"
android:textStyle="normal"
android:fontFamily="@font/roboto_mono"
android:layout_marginTop="3dp"
android:textSize="15sp"
android:text=""
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textColor="@color/TextColor"
/>
<TextView
android:id="@+id/EmptyCourse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/RoomNumber"
android:layout_marginEnd="100dp"
android:gravity="start"
android:layout_marginStart="15dp"
android:layout_centerHorizontal="false"
android:text=""
android:textStyle="bold"
android:textSize="16sp"
/>
<io.netopen.hotbitmapgg.library.view.RingProgressBar
android:id="@+id/SubjectBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_alignParentStart="true"
android:layout_marginStart="10dp"
android:elevation="5dp"
app:max="101"
app:ringColor="@android:color/transparent"
app:ringDiameter="90"
app:ringProgressColor="@color/BarColor1"
app:ringWidth="9dp"
app:style="STROKE"
app:textColor="@color/TextColor"
app:textIsShow="false"
app:textSize="16sp" />
<TextView
android:id="@+id/SubjectInt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignStart="@id/SubjectBar"
android:fontFamily="@font/roboto"
android:layout_marginStart="20dp"
android:text=""
android:textColor="@color/TextColor"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/SubjectAbrv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="false"
android:layout_alignParentEnd="true"
android:layout_marginEnd="30dp"
android:layout_marginTop="25dp"
android:text=""
android:textColor="@color/TextColor"
android:textSize="15sp"
android:fontFamily="@font/roboto"
android:textStyle="bold" />
<TextView
android:id="@+id/SubjectName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/SubjectAbrv"
android:layout_alignStart="@id/SubjectAbrv"
android:layout_marginEnd="5dp"
android:layout_marginTop="5dp"
android:text=""
android:textColor="@color/SecondaryTextColor"
android:textSize="15sp"
android:fontFamily="@font/roboto"
android:textStyle="italic" />
</RelativeLayout>
<!--The same thing repeated another 3 times below......-->
</LinearLayout>
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main_drawer"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
如果有人知道为什么会发生这种情况,我很想知道!提前致谢。
解决方案
Nvm 找到了解决方法。对于那些有同样问题的人:将 android:layout_height 硬编码为特定的 dp 值应该可以解决问题。
推荐阅读
- c++11 - 使用模板化向量创建自定义矩阵类时对 X 的未定义引用错误
- c# - .net 核心测试服务器
- r - 在 R 中,如何将数据框中的许多选择(二进制)列更改为因子?
- javascript - Javascript asyc 和 await 如何在这个特定代码中工作?
- android - 更改小部件的边距运行时
- linux - monit - 在 monitrc 文件中设置详细模式
- plotly - Plotly Dash 参考线没有显示 - python
- java - 有没有办法用具有嵌套类的文件实例化对象?
- bash - 为什么目录的硬链接数为 2 + 子目录的数量?
- c# - 从 C# .Net 中的反汇编文件中获取特定值