0

1つのスクロールビュー内に4つのリストビューがあります。私は、scrollviewをスクロール可能なリストビューにする必要はないことを知っています。しかし、私の問題は、1つのアクティビティに多すぎるコンテンツがあるため、レイアウト全体をスクロール可能にしなければならないことです。コンテンツが画面に収まるまで、リストビューはスクロールビュー内でもスクロール可能です(図1)。レイアウト全体が表示内に収まらない瞬間、つまりスクロールバーが表示されると、リストビューはスクロールできなくなります(図2)。リストビューをスクロール不可能にする、またはリストビューをスクロールビューで垂直方向に展開する

The original layout

After adding items

オートコンプリートのTextView(ACTV)以下textviewsが隠されています。 ACTVでアイテムがクリックされたときだけ、テキストビューが表示されます。 どういうわけか、リストビューを常にスクロール可能にしたい、またはリストビューの表示を拡大したいと思っています。

activity_centre.xml(これはscrollviewを持っている)

<ScrollView 
    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"> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_centre" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.nlss.custom_diet.Centre"> 


<TextView 
    android:text="Breakfast" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="10dp" 
    android:id="@+id/bf" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" /> 

<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/bfac" 
    android:layout_alignEnd="@+id/bf" 
    android:layout_marginTop="10dp" 
    android:layout_marginLeft="64dp" 
    android:visibility="gone" 
    android:id="@+id/bftvdisp" /> 

<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/bfac" 
    android:layout_alignStart="@+id/breakfastAddBT" 
    android:visibility="gone" 
    android:layout_marginTop="10dp" 
    android:id="@+id/bfcal" /> 

<ListView android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/bfListView" 
    android:layout_centerHorizontal="true" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:layout_below="@+id/bftvdisp"> 
</ListView> 

<ListView android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/lnListView" 
    android:layout_centerHorizontal="true" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:layout_below="@+id/lntvdisp"> 
</ListView> 

<ListView android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/dnListView" 
    android:layout_centerHorizontal="true" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:layout_below="@+id/dntvdisp"> 
</ListView> 

<ListView android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/snListView" 
    android:layout_centerHorizontal="true" 
    android:scrollbarAlwaysDrawVerticalTrack="true" 
    android:layout_below="@+id/sntvdisp"> 
</ListView> 


<TextView 
    android:text="Lunch" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/bfListView" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="10dp" 
    android:id="@+id/ln" /> 

<AutoCompleteTextView 
    android:id="@+id/bfac" 
    android:layout_width="250dp" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/bf" 
    android:layout_marginTop="10dp" 
    android:hint="Select food" /> 

<AutoCompleteTextView 
    android:id="@+id/lnac" 
    android:layout_width="250dp" 
    android:layout_height="wrap_content" 
    android:layout_alignStart="@+id/bfac" 
    android:layout_below="@+id/ln" 
    android:layout_marginTop="10dp" 
    android:layout_toStartOf="@+id/breakfastAddBT" 
    android:hint="Select food" /> 

<TextView 
    android:text="Dinner" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/lnListView" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="10dp" 
    android:id="@+id/dn" /> 

<AutoCompleteTextView 
    android:id="@+id/dnac" 
    android:layout_width="250dp" 
    android:layout_height="wrap_content" 
    android:layout_alignEnd="@+id/lnac" 
    android:layout_alignStart="@+id/lnac" 
    android:layout_below="@+id/dn" 
    android:layout_marginTop="10dp" 
    android:hint="Select food" /> 

<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/dnac" 
    android:visibility="gone" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="10dp" 
    android:id="@+id/dntvdisp" /> 

<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/dnac" 
    android:visibility="gone" 
    android:layout_alignStart="@+id/dinnerAddBT" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="10dp" 
    android:id="@+id/dncal" /> 

<TextView 
    android:text="Snacks" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/dnListView" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="10dp" 
    android:id="@+id/sn" /> 

<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:visibility="gone" 
    android:id="@+id/lntvdisp" 
    android:layout_below="@+id/lnac" 
    android:layout_alignEnd="@+id/bf" 
    android:layout_marginTop="10dp" /> 

<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:visibility="gone" 
    android:id="@+id/lncal" 
    android:layout_alignStart="@+id/LunchAddBT" 
    android:layout_below="@+id/lnac" 
    android:layout_marginTop="10dp" /> 

<AutoCompleteTextView 
    android:hint="Select food" 
    android:layout_width="250dp" 
    android:layout_height="wrap_content" 
    android:id="@+id/snac" 
    android:layout_marginTop="10dp" 
    android:layout_below="@+id/sn" 
    android:layout_alignStart="@+id/dnac" 
    android:layout_alignEnd="@+id/dnac" /> 

<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/snac" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="10dp" 
    android:visibility="gone" 
    android:id="@+id/sntvdisp" /> 

<TextView 
    android:text="TextView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/snac" 
    android:layout_alignStart="@+id/snacksAddBT" 
    android:layout_marginTop="10dp" 
    android:visibility="gone" 
    android:id="@+id/sncal" /> 

<Button 
    android:id="@+id/snacksAddBT" 
    android:layout_width="90dp" 
    android:layout_height="40dp" 
    android:layout_alignStart="@+id/dinnerAddBT" 
    android:layout_alignTop="@+id/snac" 
    android:text="Add"/> 

<Button 
    android:id="@+id/LunchAddBT" 
    android:layout_width="90dp" 
    android:layout_height="40dp" 
    android:layout_alignStart="@+id/breakfastAddBT" 
    android:layout_alignTop="@+id/lnac" 
    android:text="Add" /> 

<Button 
    android:id="@+id/dinnerAddBT" 
    android:layout_width="90dp" 
    android:layout_height="40dp" 
    android:layout_alignStart="@+id/LunchAddBT" 
    android:layout_alignTop="@+id/dnac" 
    android:text="Add" /> 

<Button 
    android:id="@+id/breakfastAddBT" 
    android:layout_width="90dp" 
    android:layout_height="40dp" 
    android:layout_alignBottom="@+id/bfac" 
    android:layout_marginStart="14dp" 
    android:layout_toEndOf="@+id/bfac" 
    android:text="Add" /> 

scrollview.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/rowTextView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:textSize="16sp" > 
</TextView> 

答えて

0

ますNestedScrollコンテナを使用できます。子スクロールビューでは、XML宣言にandroid:nestedScrollingEnabled = "true"を追加するか、明示的にsetNestedScrollingEnabled(true)を呼び出すことで、このプロパティを有効にできます。このメソッドは、API 21以上を実行するデバイスでのみ機能します。

API 20の前に古いとAndroidバージョンについては、サポートライブラリからクラスを使用することができます。まず、ScrollViewをNestedScrollViewに置き換える必要があります。後者は、NestedScrollingParentとNestedScrollingChildの両方を実装しているため、親スクロールコンテナまたは子スクロールコンテナとして使用できます。

0

使用この次のスニペット

listView.setOnTouchListener(new View.OnTouchListener() { 

      public boolean onTouch(View v, MotionEvent event) { 
       if (event.getAction() == MotionEvent.ACTION_MOVE && scrollbarsVisible) { 
        return true; // this will disable the scrolling in listview 
       } 
       return false; 
      } 
     }); 
+0

スクロールを無効にすると、リストビュー全体が表示されますか? – ltc

+0

いいえ..任意の時点で、リストをスクロールするかscrollViewをスクロールする –

+0

アンドロイド:nestedScrollingEnabled = "true"は任意の時間にリストビューとレイアウトの両方をスクロールするのに役立ちます – ltc

関連する問題