Saydam gezinme ve durum çubuklarını (API Level 19) kullanırken SwipeRefreshLayout'umu görünür hale getirme konusunda bir sorun yaşıyorum. Yani, şu anda durum çubuğunun altında (ekranın en üstünde), onun altında bir eylem çubuğu olmasını istiyorum.SwipeRefreshLayout, transparan durum çubuklarıyla ActionBar'ın arkasında gizli
ListView beklendiği gibi çalışıyor. Yani, içerik gezinme çubuklarının arkasında düzgün bir şekilde gösterilir ve durum çubuğunun veya eylem çubuğunun altında gizlenmez.
Bu durumda, android: fitsSystemWindows = "true" özelliğini göreli düzenime eklerseniz, SwipeRefreshLayout düzgün çalışır. Ancak, bunu yapmak benim liste görünümümü şeffaf gezinme çubuklarının altında görünmez kılar. Bunun yerine, gezinme çubukları arka planımın rengidir ve liste listemdeki içeriğin altında gösterilmesine izin vermez.
Şimdi nasıl kaldığını görmek için ListView'i nasıl alabilirim ve ayrıca SwipeRefreshLayout'umun görünür olmasını (ekranın üst kısmında, durum çubuğunun altında gizlenmek yerine) nasıl alabilirim?
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="10dp"
android:background="#ccc"
android:clipToPadding="false">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/container"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ccc">
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/listView"
android:paddingTop="10dp"
android:fitsSystemWindows="true"
android:clipToPadding="false"
android:divider="@android:color/transparent"
android:layout_gravity="left|top" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="No Internet Connection"
android:id="@+id/noInternet"
android:textColor="@android:color/secondary_text_light"
android:layout_gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Pull To Refresh"
android:translationY="20dp"
android:id="@+id/nointernetSub"
android:textColor="@android:color/secondary_text_light"
android:layout_gravity="center" />
</FrameLayout>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
<fragment android:id="@+id/navigation_drawer"
android:layout_width="@dimen/navigation_drawer_width"
android:layout_height="match_parent"
android:layout_gravity="start"
android:name="com.package.app.NavigationDrawerFragment"
tools:layout="@layout/fragment_navigation_drawer" />
</android.support.v4.widget.DrawerLayout>
Bu sorunuzun yana uzun zaman oldu, ama belki hala bir cevap gerek:
Aşağıda benim düzenidir. Şuna bir bakın: http://stackoverflow.com/questions/24413680/swiperefreshlayout-behind-actionbar – Naroh