web-dev-qa-db-ja.com

Android scrollviewレイアウトのトップコンテンツを非表示

Android scrollviewがレイアウトの上部にあるテキストビューのペアを非表示にし始めるという問題があります。このサイトで、その問題を抱えており、残念ながら助けてくれた人は実際に何が修正されたのかを言わなかったので、誰かがここで何が修正されたのか教えてもらえますか?

Androidスクロールビューでトップコンテンツを非表示

ここで私のxmlコードは巨大な助けになるでしょう:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:ads="http://schemas.Android.com/apk/lib/com.google.ads"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="@color/title_color_dark_transparent" >

<LinearLayout
    Android:layout_width="fill_parent"
    Android:layout_height="match_parent"
    Android:layout_gravity="center_vertical|center_horizontal|center"
    Android:orientation="vertical" >

    <LinearLayout
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent"
        Android:layout_gravity="center"
        Android:layout_marginLeft="8dp"
        Android:layout_marginRight="8dp"
        Android:layout_marginTop="5dp"
        Android:orientation="vertical"
        Android:paddingTop="5dp" >

        <TextView
            Android:id="@+id/saysomething"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:text="@string/loading"
            Android:textColor="#FFFFFF"
            Android:textSize="30dp" />

        <TextView
            Android:id="@+id/saysomethinginfo"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_marginBottom="5dp"
            Android:text="@string/loading"
            Android:textColor="#FFFFFF"
            Android:textSize="17dp" />

        <EditText
            Android:id="@+id/tweetedittext"
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:background="@drawable/edit_text"
            Android:gravity="top"
            Android:hint="@string/edittext_hint"
            Android:inputType="textCapSentences|textMultiLine|textAutoCorrect|textAutoComplete"
            Android:lines="3"
            Android:textAppearance="@style/TextAppearance.EditText"
            Android:textSize="17dp" />

        <RelativeLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:layout_marginBottom="5dp"
            Android:layout_marginTop="5dp"
            Android:orientation="horizontal" >

            <Button
                Android:id="@+id/photobutton"
                style="@style/TextAppearance.Button"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:background="@drawable/button_background"
                Android:onClick="photobuttonClicked"
                Android:text="@string/photobuttontext"
                Android:textSize="15dp" />

            <TextView
                Android:id="@+id/charactersremaining"
                Android:layout_width="wrap_content"
                Android:layout_height="fill_parent"
                Android:layout_centerInParent="true"
                Android:layout_toLeftOf="@+id/posttweetbutton"
                Android:text="@string/characters"
                Android:textColor="#FFFFFF"
                Android:textSize="20dp" />

            <Button
                Android:id="@id/posttweetbutton"
                style="@style/TextAppearance.Button"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignParentRight="true"
                Android:layout_marginLeft="2dp"
                Android:background="@drawable/button_background"
                Android:onClick="posttweetbuttonClicked"
                Android:text="@string/postbuttonstext"
                Android:textSize="15dp" />
        </RelativeLayout>
    </LinearLayout>

    <TextView
        Android:id="@+id/photodetails"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:text=""
        Android:textColor="#FFFFFF"
        Android:textSize="17dp"
        Android:layout_marginTop="8dp"
        Android:layout_marginLeft="8dp" />

    <ImageView
        Android:id="@+id/iv_pic"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginLeft="8dp"
        Android:layout_marginRight="8dp" />
</LinearLayout>

</ScrollView>
37
Edmund Rojas

それを見つけた ! Android:layout_gravity="center"LinearLayoutが原因です。これを削除するだけで、すべてがうまくいくはずです。

105
Sylphe

設定してみましたか

Android:fillViewport = "true"

scrollViewで?

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
  xmlns:ads="http://schemas.Android.com/apk/lib/com.google.ads"
  Android:layout_width="fill_parent"
  Android:layout_height="fill_parent"
  Android:fillViewport="true"
  Android:background="@color/title_color_dark_transparent" >
5
dwbrito

プログラムでスクロールできます。

  1. XmlからAndroid:layout_gravityプロパティを削除します
  2. OnResume関数にスクロールを追加する

私のプロジェクトからのコード:

protected void onResume() {
    super.onResume();
    final HorizontalScrollView svInMenu = (HorizontalScrollView) findViewById(R.id.svInMenu);
    ViewTreeObserver vto = svInMenu.getViewTreeObserver();
    vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
        public void onGlobalLayout() {
            svInMenu.scrollTo(svInMenu.getRight() / 4, 0);
        }
    });
}
1
user2636104

外側のLinearLayoutの高さがmatch_parentに設定されています。代わりにwrap_contentにする必要があります。内側のLinearLayoutの高さもwrap_contentにする必要があります。

0
kabuko

Android:layout_weight = "1"をスクロールビューに追加します。問題を解決します。このようなもの

 <ScrollView
        Android:id="@+id/scroll"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content" Android:layout_weight="1" >
0
Joseph Selvaraj