0

現在のビューの上または現在のビューの下にさらにテキストが残っている場合に、上矢印または下矢印を表示する方法はありますか? 私の Android アプリケーションでは、現在のビューの下にさらにテキストがあることはあまり明白ではありませんが、現在のビューの下にさらにテキストがあることをユーザーに知ってもらいたいです。矢印をこれに表示するにはどうすればよいですか?

コード:

<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"
android:background="@drawable/backgnd" >

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

              <Button
                  android:id="@+id/awesome_constant1"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="1"
                  android:text="@string/awesome_constant1" />
              <Button
                  android:id="@+id/awesome_constant2"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="2"
                  android:text="@string/awesome_constant2" />
              <Button
                  android:id="@+id/awesome_constant3"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="19"
                  android:text="@string/awesome_constant3" />
              <Button
                  android:id="@+id/awesome_constant4"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="3"
                  android:text="@string/awesome_constant4" />
              <Button
                  android:id="@+id/awesome_constant5"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="10"
                  android:text="@string/awesome_constant5" />
              <Button
                  android:id="@+id/awesome_constant6"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="7"
                  android:text="@string/awesome_constant6" />
              <Button
                  android:id="@+id/awesome_constant7"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="15"
                  android:text="@string/awesome_constant7" />
              <Button
                  android:id="@+id/awesome_constant8"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="13"
                  android:text="@string/awesome_constant8" />
              <Button
                  android:id="@+id/awesome_constant9"
                  android:layout_height="wrap_content"
                  android:layout_width="fill_parent"
                  android:onClick="doSomething"
                  android:tag ="16"
                  android:text="@string/awesome_constant9" />
        </LinearLayout>

    </ScrollView>

</LinearLayout>
4

2 に答える 2

1

onScrollChangedをオーバーライドして、コンテンツが画面外にあるかどうかを確認できます。

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {

       View view = (View) getChildAt(getChildCount() - 1);
       int diff = (view.getBottom() - (getHeight() + getScrollY()));
       if (diff > 0) { //then not at bottom

       }
}
于 2013-01-28T04:06:28.047 に答える
0

通常、これを回避する方法は、スクロールビューにドロップシャドウまたはフェードエッジを設定することです。これはデフォルトで有効になっているはずです。android:requiresFadingEdgeXMLでを使用してプロパティを設定できます。

フェージングエッジ

矢印が必要な場合は、2つの画像を追加して自分でオーバーレイする必要があります(たとえば、FrameLayoutまたは何かで)。実際には何も組み込まれていません。

于 2013-01-28T03:01:59.063 に答える