Android scrollviewがレイアウトの上部にあるテキストビューのペアを非表示にし始めるという問題があります。このサイトで、その問題を抱えており、残念ながら助けてくれた人は実際に何が修正されたのかを言わなかったので、誰かがここで何が修正されたのか教えてもらえますか?
ここで私の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>
それを見つけた ! Android:layout_gravity="center"
のLinearLayout
が原因です。これを削除するだけで、すべてがうまくいくはずです。
設定してみましたか
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" >
プログラムでスクロールできます。
私のプロジェクトからのコード:
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);
}
});
}
外側のLinearLayout
の高さがmatch_parent
に設定されています。代わりにwrap_content
にする必要があります。内側のLinearLayout
の高さもwrap_content
にする必要があります。
Android:layout_weight = "1"をスクロールビューに追加します。問題を解決します。このようなもの
<ScrollView
Android:id="@+id/scroll"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" Android:layout_weight="1" >