Android不确定ProgressBar不显示
我正在为我的Android应用程序添加一个旋转进度视觉,为了使它变得复杂,我目前只在我的onCreate中启动它,而不是结束它,因为它应该是非常简单的。 但是,遵循指定只包含进度条的正式Android文档
<ProgressBar android:id="@+id/weather_loading_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" />
对于不确定的加载条,它不起作用。 我试图增加indeterminate
和visibility
,但没有运气。
<ProgressBar android:id="@+id/weather_loading_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" android:visibility="visible" />
我使用Kotlin的Android扩展,所以在我的onCreate()
我试过了
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //setVisibility here doesn't actually get shown as an option in the autocomplete, but still compiles. weather_loading_bar.setVisibility(View.VISIBLE) }
但是当我的应用程序启动时,没有进度条。
编辑:这是整个activity_main布局
<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=".ui.MainActivity"> <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/currentData" android:layout_width="match_parent" android:layout_height="wrap_content" card_view:cardBackgroundColor="@color/blue" card_view:cardCornerRadius="0dp" card_view:cardMaxElevation="25dp"> <RelativeLayout android:id="@+id/cardviewLayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp"> <LinearLayout android:id="@+id/temperature_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:orientation="vertical"> <TextView android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/white" android:textSize="10sp" tools:text="this is the time" /> <TextView android:id="@+id/temperature" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/white" android:textSize="25sp" tools:text="50°" /> </LinearLayout> <LinearLayout android:id="@+id/feel_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_weight="1" android:gravity="center" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Feels Like" android:textColor="@color/white" android:textSize="10sp" /> <TextView android:id="@+id/feels" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/white" android:textSize="25sp" /> </LinearLayout> <!-- Layout Middle--> <LinearLayout android:id="@+id/forecast_summary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:gravity="center" android:orientation="vertical" android:padding="30dp"> <ImageView android:id="@+id/current_icon" android:layout_width="100dp" android:layout_height="100dp" /> <TextView android:id="@+id/summary_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/white" android:textSize="15sp" /> </LinearLayout> <!-- End Layout Middle --> <!-- Layout bottom --> <LinearLayout android:id="@+id/precip_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/forecast_summary" android:layout_weight="1" android:gravity="center" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Chance of Rain" android:textColor="@color/white" android:textSize="10sp" /> <TextView android:id="@+id/precipitation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/white" android:textSize="25sp" /> </LinearLayout> <LinearLayout android:id="@+id/wind_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_below="@+id/forecast_summary" android:layout_weight="1" android:gravity="center" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Wind Speed" android:textColor="@color/white" android:textSize="10sp" /> <TextView android:id="@+id/wind" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/white" android:textSize="25sp" /> </LinearLayout> <!-- End layout bottom --> </RelativeLayout> </android.support.v7.widget.CardView> <view android:id="@+id/recycler_view" class="android.support.v7.widget.RecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/currentData" android:layout_centerInParent="true" /> <ProgressBar android:id="@+id/weather_loading_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" android:visibility="visible" />
你的布局有一些大问题。 首先,您没有在布局中指定您的进度条显示的位置。 您需要添加相对于父亲RelativeLayout
界限。
第二个是, RelativeLayout
是FrameLayout
的扩展,它从后到前堆栈视图。 因此,您的进度条位于布局的后面, CardView
(以及顶部的所有内容)位于前面。
放置你的
<ProgressBar android:id="@+id/weather_loading_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="true" android:visibility="visible" />
在RelativeLayout下方回收者视图的底部。