Android Scroll View 未填充设备屏幕
Posted
技术标签:
【中文标题】Android Scroll View 未填充设备屏幕【英文标题】:Android Scroll View not filling Device Screen 【发布时间】:2016-07-26 13:10:30 【问题描述】:您好,我有一个加载 Xml 文件的片段。 xml文件代码如下。
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_ android:layout_ android:orientation="vertical" android:scrollbars="vertical" android:background="#2f3799" android:fillViewport="true" tools:context=".NewItem" android:paddingEnd="0dp" android:paddingStart="0dp"> <LinearLayout android:layout_ android:layout_ android:orientation="vertical"> <LinearLayout android:layout_ android:layout_ android:background="#111a42" android:weightSum="1"> <TextView android:layout_ android:layout_ android:text="SUBMIT YOUR POST" android:id="@+id/textHeading" android:textSize="15pt" android:textColor="#ffffff" android:textAlignment="center" android:layout_weight="20" /> </LinearLayout> <TextView android:layout_ android:layout_ android:textAppearance="?android:attr/textAppearanceMedium" android:text="Category" android:textColor="#ffffff" android:id="@+id/textCategory" android:layout_alignParentStart="true" android:layout_marginTop="36dp" /> <GridLayout android:id="@+id/gridLayout1" android:layout_ android:layout_> <RadioGroup android:id="@+id/categoryRadio" android:layout_ android:layout_ android:orientation="horizontal" > <RadioButton android:id="@+id/motoRadio" android:layout_ android:layout_ android:checked="true" android:textColor="#ffffff" android:text="Motorbike" /> <RadioButton android:id="@+id/carRadio" android:layout_ android:layout_ android:checked="true" android:textColor="#ffffff" android:text="Car" /> <RadioButton android:id="@+id/otherRadio" android:layout_ android:layout_ android:checked="true" android:text="Others" android:textColor="#ffffff"/> </RadioGroup> </GridLayout> <TextView android:layout_ android:layout_ android:textAppearance="?android:attr/textAppearanceMedium" android:text="Title" android:textColor="#ffffff" android:id="@+id/textTitle" /> <EditText android:layout_ android:layout_ android:background="@drawable/edittext_bg" android:id="@+id/titleText" android:inputType="text" android:hint="Item Title" android:singleLine="true" android:visibility="visible" android:typeface="sans" android:layout_weight="0.65" android:layout_marginLeft="10dp" android:layout_gravity="left" android:layout_below="@id/textTitle"/> <TextView android:layout_ android:layout_ android:textAppearance="?android:attr/textAppearanceMedium" android:text="Subject" android:textColor="#ffffff" android:id="@+id/textSubject" /> <EditText android:layout_ android:layout_ android:inputType="text" android:background="@drawable/edittext_bg" android:id="@+id/subjectText" android:singleLine="true" android:visibility="visible" android:layout_marginLeft="10dp" android:typeface="sans" android:hint="Item Subject" android:layout_weight="0.65" android:layout_gravity="left" /> <TextView android:layout_ android:layout_ android:textAppearance="?android:attr/textAppearanceMedium" android:text="Content" android:textColor="#ffffff" android:id="@+id/textContent" android:layout_below="@+id/subjectText"/> <EditText android:layout_ android:layout_ android:inputType="textMultiLine" android:ems="10" android:id="@+id/contentText" android:background="@drawable/edittext_bg" android:layout_marginLeft="10dp" android:textAlignment="textStart" android:textColor="#232121" android:layout_below="@id/textContent"/> <TextView android:layout_ android:layout_ android:textAppearance="?android:attr/textAppearanceMedium" android:text="Source" android:textColor="#ffffff" android:id="@+id/textSource" android:layout_below="@+id/contentText"/> <EditText android:layout_ android:layout_ android:inputType="text" android:background="@drawable/edittext_bg" android:id="@+id/sourceText" android:layout_marginLeft="10dp" android:layout_above="@+id/button" android:layout_below="@+id/textSource"/> <Button android:layout_ android:layout_ android:text="SUBMIT" android:textColor="#ffffff" android:id="@+id/button" android:onClick="submitItem" android:layout_gravity="center" /> </LinearLayout> </ScrollView>
即使设置了android:fillViewport="true"
,视图也不会填满整个设备屏幕。为了清楚起见,请参见下图。等待你的回复。谢谢
【问题讨论】:
背后有什么表现?你能用片段容器发布布局吗? 在其白色的空白下方没有任何显示。黄色标记是为了支持我的空间观点。 无论如何发布带有片段容器的布局xml 【参考方案1】:您似乎有默认填充,请检查您的活动布局并删除这些行:
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
【讨论】:
这就是我要求活动布局的原因。 @Nanoc 我真的不确定你所说的布局。【参考方案2】:更改您的尺寸文件
<dimen name="activity_horizontal_margin">0dp</dimen>
<dimen name="activity_vertical_margin">0dp</dimen>
然后在布局中
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
【讨论】:
【参考方案3】:从您的 xml 中删除所有填充行
【讨论】:
【参考方案4】:您的活动文件在主布局标记中包含填充。
【讨论】:
以上是关于Android Scroll View 未填充设备屏幕的主要内容,如果未能解决你的问题,请参考以下文章
Android 开发笔记___滚动视图__scroll view