なぜこれが起こっているのか理解できません。 scrollviewをスクロールできません。 textView、imageview、およびその中のいくつかの線形レイアウトがあります。 imageviewとリニアレイアウトをtextviewに置き換えると、機能します。これは本当に珍しくてイライラします。誰も私を助けることができますか?ここに私のコードがあります:
<LinearLayout 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" >
<ScrollView
Android:id="@+id/scrollView1"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fillViewport="true" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:animateLayoutChanges="true"
Android:orientation="vertical"
Android:scrollbars="vertical" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:text="Drop Text Down"
Android:textAppearance="?android:attr/textAppearanceLarge" />
<ImageView
Android:id="@+id/imageView1"
Android:layout_width="match_parent"
Android:layout_height="555dp"
Android:src="@drawable/ic_launcher" />
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:orientation="vertical" >
<TextView
Android:id="@+id/textView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" />
</LinearLayout>
<LinearLayout
Android:id="@+id/ln"
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:background="#000000"
Android:orientation="vertical" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:orientation="vertical" >
<TextView
Android:id="@+id/TextView06"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:orientation="vertical" >
<TextView
Android:id="@+id/TextView05"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:orientation="vertical" >
<TextView
Android:id="@+id/TextView04"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:orientation="vertical" >
<TextView
Android:id="@+id/TextView03"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:orientation="vertical" >
<TextView
Android:id="@+id/TextView02"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" />
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:orientation="vertical" >
<TextView
Android:id="@+id/TextView01"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
ありがとう。
高さを固定した空のビューを配置する
<View
Android:layout_width="match_parent"
Android:layout_height="50dp" />
スクロールビューの子であるリニアレイアウトの最後のアイテムとして。
これは私のために働いた..
ScrollView
の子ビューはwrap_contentに設定する必要があります。 match_parentに設定すると、ScrollView
の領域がいっぱいになり、ScrollView
より大きくならないため、スクロールしません。
子LinearLayout
layout_heightを、match_parentではなくwrap_contentまたは特定のサイズ(dp)に変更してみてください。
ScrollView
子の高さはwrap_content
:
<ScrollView
Android:id="@+id/scrollView1"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:animateLayoutChanges="true"
Android:orientation="vertical"
Android:scrollbars="vertical" >
...
...
</LinearLayout>
</ScrollView>
以下のように、アクティビティマニフェストに(Android:windowSoftInputMode = "adjustResize | stateHidden")を追加することで解決できました。
<activity
Android:name=".ui.main.MainActivity"
Android:label="@string/app_name"
Android:windowSoftInputMode="adjustResize|stateHidden"
Android:screenOrientation="portrait"
Android:theme="@style/AppTheme.NoActionBar">
</activity>
LinearLayout(Scrollviewの子)の高さをwrap_contentに設定する必要があります。
子がScrollViewよりも高い場合、Android:fillViewport = "true"属性は効果がありません。