69264


# 問題点

プログラムを実行して仮想デバイスの画面をスクロールしようとしても画面がスクロールされません。(スクロールバーは表示されているので、スクロールの機能は反映されてると考えています。)  
画面の途中からスクロールさせたいと考えています。  
例) YouTubeのコメント欄だけスクロール出来る様な感じです。

オレンジの範囲をスクロールしようと考えています。

[![オレンジの範囲をスクロールしようと考えています。](https://i.stack.imgur.com/EgG8e.jpg)](https://i.stack.imgur.com/EgG8e.jpg)

# 試したこと

複数のTextViewを1つのGridLayoutで挟んだ後にScrollViewでまとめて囲った。

**activity_sub1.xml**

[code]

    <?xml version="1.0" encoding="utf-8"?>
    
    *中略*
    
     <GridLayout
     *中略*
     </GridLayout> 
    
    <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".SubActivity1"
            android:fadeScrollbars="false">
    
            <GridLayout
                android:layout_width="match_parent"
                android:layout_height="143dp"
                android:layout_gravity="fill"
                android:layout_marginTop="250dp"
                android:background="@drawable/grid_border"
                android:columnCount="8"
                android:rowCount="30"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent">
    
                <TextView
                    android:id="@+id/textView"
                    android:layout_width="104dp"
                    android:layout_height="30dp"
                    android:layout_row="0"
                    android:layout_column="0"
                    android:layout_columnSpan="2"
                    android:layout_gravity="fill"
                    android:gravity="center"
                    android:text="食事①" />
        
    　　　　　　*中略*  TextViewが以降続く　
    
       　　　</GridLayout>
     </ScrollView>
    
[/code]


CC BY-SA 4.0
2020-08-04T18:14:06.447
69250
2020-08-05T10:45:16.913
2020-08-05T00:40:57.867
3060
40944
question
java android android-studio
Android Studio の仮想デバイス上で画面のスクロールが出来ない


# 解決できました

# スクロールすると、ScroleView外のGridLayoutと被ってしまった原因と修正点

【原因】  
ScrollViewの  
android:layout_height="match_parent"  
としていて範囲を絞っていなかったので、コード上ではScroleView外のGridLayoutが範囲内にあった。

【修正点】  
ScrollViewの  
android:layout_height="match_parent"  
を  
android:layout_height="315dp"  
に変更。(これでスクロール時にScroleView外のGridLayoutと被らなくなった)

# スクロールが途中で止まってしまった原因と修正点

【原因】  
GridLayoutのconstraintを画面トップから250dpの位置で固定していたため、上手くスクロール出来ないことが分かりました。

【修正点】  
ScroleView内のGridLayoutの中の  
android:layout_marginTop="250dp"  
を消去しました。

[code]

    <?xml version="1.0" encoding="utf-8"?>
    
    *中略*
    
     <GridLayout
     *中略*
     </GridLayout> 
    
    <ScrollView
            android:layout_width="match_parent"
            android:layout_height="315dp"           //変更点
            tools:context=".SubActivity1"
            android:fadeScrollbars="false">
    
            <GridLayout
                android:layout_width="match_parent"
                android:layout_height="143dp"
                android:layout_gravity="fill"
                　　　　　　　　　　　　　　　　　// android:layout_marginTop="250dp"を消去
                android:background="@drawable/grid_border"
                android:columnCount="8"
                android:rowCount="30"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent">
    
[/code]


CC BY-SA 4.0
2020-08-05T03:41:48.590
69264
2020-08-05T10:45:16.913
2020-08-05T10:45:16.913
40944
40944
69250
answer