私はContentProviderで遊ぶ簡単なアプリを書いています、私はdb、ContentProvider、メインアクティビティ、ContentResolverを使用してContentProviderにコマンドを転送するクラスを持っています。 GUIでは、データベースに保存されているすべてのアイテムを表示したいだけです。私はこのプロジェクトを最初から作成し、アクティビティを作成すると、メインレイアウトにAppBarLayoutを含むCoordinatorLayoutがあり、それで問題ありません。ListViewを作成すると、AppBarLayoutがListViewと重なり、リストビューの最初の項目の下にあることを除き、すべてが機能しますAppBarLayoutによって非表示になっています。
ListViewにAndroid:layout_below
を使用しようとしましたが、機能しません。Android:layout_marginTop
を使用すると、ListViewはAppBarLayoutの下にありますが、このソリューションは見つかりません。
AppBarLayoutの下にListViewを配置する簡単な方法はありませんか?
私のactivity_mainレイアウトの下:
<?xml version="1.0" encoding="utf-8"?>
<Android.support.design.widget.CoordinatorLayout
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:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@color/holo_light_background"
Android:fitsSystemWindows="true"
tools:context=".MainActivity">
<Android.support.design.widget.AppBarLayout
Android:id="@+id/bar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.AppBarOverlay">
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="?attr/colorPrimary"
Android:theme="@style/AppTheme.AppBarOverlay"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</Android.support.design.widget.AppBarLayout>
<ListView
Android:id="@+id/list"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_below="@id/bar"/>
<Android.support.design.widget.FloatingActionButton ...>
<Android.support.design.widget.FloatingActionButton ...>
</Android.support.design.widget.CoordinatorLayout>
単純な追加
app:layout_behavior="@string/appbar_scrolling_view_behavior"
あなたのListViewに
別の方法は、ListViewの代わりにRecyclerViewを使用することです。確実に機能します........
[〜#〜]または[〜#〜]
使用する:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop)
{
listView.setNestedScrollingEnabled(true);
}
明らかにLollipopでのみ機能します。