当我启动仿真器和输入使用这种代码,它显示了大部分的文字信息,但切断屏幕上方屏幕(广东话向上滚动),但留下了一点空间在底部。
下面是代码;
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
android:fillViewport="true"
android:id="@+id/backgroundImage" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:padding="10dip" >
<ImageView
android:id="@+id/earthSymbolImageView"
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/earthsymbol" />
<TextView
android:id="@+id/earth_content1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/earth_title"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="20sp" />
<TextView
android:id="@+id/earth_content2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/earth_text"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/backButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/back" />
</LinearLayout>
</ScrollView>
没有人知道为什么会这样发生?
这正因为在你的LinearLayout的layout_gravity造成的。 由于您的LinearLayout是滚动型内你可能只是想水平居中(滚动型内垂直居中,因为不生产)。 指定您的LinearLayout到中心水平这样应该做的伎俩:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center_horizontal"
android:padding="10dip" >
我有一个同样的问题与HorizontalScrollView
嵌套在里面ScrollView.
我有HorizontalScrollView
重心设置为center
这是造成问题的原因。 只是删除它固定的问题。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="1000dp"
android:layout_height="1000dp"
android:gravity="center"
android:layout_gravity="center"
android:text="New Text"/>
</LinearLayout>
</HorizontalScrollView>
最佳答案我已经找到并测试修复此问题是,@hadi在这个问题上给了一个: 没有重力了滚动。 如何使内滚动型为中心内容
恢复了答案:
- 把你的滚动型的RelativeLayout内。
- 在滚动型,设置如下:
- 机器人:layout_height = “WRAP_CONTENT”
- 机器人:layout_centerVertical = “真”
- 把滚动型的内部垂直的LinearLayout。
该代码将是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
...
</LinearLayout>
</ScrollView>
</RelativeLayout>
它很简单 - 你只需要从移动的LinearLayout到layout_gravity你父容器滚动型:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
android:fillViewport="true"
android:id="@+id/backgroundImage"
android:layout_gravity="center" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="10dip" >
在我的情况下,问题是requestFocus
的EditText
。
在你的情况下,它们是没有EditText
所以这个问题是其他的东西。 对于那些谁是有滚动型切割的问题上边缘,尝试删除所有requestFocus
所有EditText
。
您必须在LinearLayout中添加marginBottom
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="visible"
android:fillViewport="true"
android:id="@+id/backgroundImage" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:padding="10dip"
android:layout_marginBottom="96dp" >
<ImageView
android:id="@+id/earthSymbolImageView"
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/earthsymbol" />
<TextView
android:id="@+id/earth_content1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/earth_title"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="20sp" />
<TextView
android:id="@+id/earth_content2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/earth_text"
android:textColor="#FFFFFF" />
<Button
android:id="@+id/backButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/back" />
</LinearLayout>
</ScrollView>
如果你想在TextViews是滚动的,你为什么不把滚动型解决此2个元素?
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:padding="10dip" >
<ScrollView>
<ImageView
android:id="@+id/earthSymbolImageView"
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/earthsymbol" />
<TextView
android:id="@+id/earth_content1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/earth_title"
android:gravity="center"
android:textColor="#FFFFFF"
android:textSize="20sp" />
<TextView
android:id="@+id/earth_content2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/earth_text"
android:textColor="#FFFFFF" />
</ScrollView>
<Button
android:id="@+id/backButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/back" />
</LinearLayout>