RelativeLayout 中的 ScrollView
ScrollView inside a RelativeLayout
我需要在相对布局中做一个滚动视图。
当我添加 ScrollView 时,结果是这样 http://postimg.org/image/6abxth299/ 组件只占据了屏幕的一半,当这个屏幕打开时,键盘默认出现
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical" >
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:layout_centerHorizontal="true"
android:id="@+id/data_entry_layout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Post Title"
android:id="@+id/post_title"
android:layout_alignBaseline="@+id/post_title_input"
android:layout_alignBottom="@+id/post_title_input"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textSize="26px"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/post_title_input"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/post_title"
android:layout_toEndOf="@+id/post_title"
android:inputType="textCapSentences"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Post Description"
android:id="@+id/post_description"
android:layout_below="@+id/post_title_input"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="39dp"
android:textSize="26px"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine|textCapSentences"
android:ems="10"
android:id="@+id/editText"
android:layout_marginTop="16dp"
android:layout_below="@+id/post_description"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageButton1"
android:layout_below="@+id/editText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:baselineAlignBottom="false"
android:contextClickable="true"
android:src="@drawable/image_button_icon"
android:onClick="galleryIntent"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"
android:id="@+id/cancel"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@id/imageButton1"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:id="@+id/submit"
android:layout_alignTop="@+id/cancel"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_below="@id/imageButton1"/>
</RelativeLayout>
</ScrollView>
scrollview第一个dirsct的高度child,无论是相对布局还是线性布局,都应该是wrap content,不匹配parent。此外,内部 childs 应该具有特定的重量或高度,并且不匹配 parent 就像您为 imageButton 所做的那样。
我认为 ScrollView 在 Relativelayout 中不起作用。最好用LinearLayout。
尝试将以下内容添加到您的 AndroidManifest 中 activity 以删除默认出现的键盘
android:windowSoftInputMode="stateAlwaysHidden|adjustResize"
并为滚动视图使用 android:layout_height="wrap_content"
,建议使用 LinearLayout 和 垂直方向 布局用于此类用途。
试试这个...
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<RelativeLayout
android:id="@+id/data_entry_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<RelativeLayout
android:id="@+id/Rel12345"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/post_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/post_title_input"
android:layout_alignBottom="@+id/post_title_input"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="Post Title"
android:textSize="26px" />
<EditText
android:id="@+id/post_title_input"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_toEndOf="@+id/post_title"
android:layout_toRightOf="@+id/post_title"
android:inputType="textCapSentences" />
<TextView
android:id="@+id/post_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/post_title_input"
android:layout_marginTop="39dp"
android:text="Post Description"
android:textSize="26px" />
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/post_description"
android:layout_marginTop="16dp"
android:ems="10"
android:inputType="textMultiLine|textCapSentences" />
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/editText"
android:baselineAlignBottom="false"
android:contextClickable="true"
android:onClick="galleryIntent"
/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/Rel1234"
android:layout_below="@id/Rel12345"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="Cancel"/>
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/cancel"
android:text="Submit" />
</RelativeLayout>
</RelativeLayout>
</ScrollView>
并尝试将以下内容添加到您的 AndroidManifes 中以删除默认使用的键盘
android:windowSoftInputMode="stateAlwaysHidden|adjustResize"
我需要在相对布局中做一个滚动视图。
当我添加 ScrollView 时,结果是这样 http://postimg.org/image/6abxth299/ 组件只占据了屏幕的一半,当这个屏幕打开时,键盘默认出现
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical" >
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:layout_centerHorizontal="true"
android:id="@+id/data_entry_layout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Post Title"
android:id="@+id/post_title"
android:layout_alignBaseline="@+id/post_title_input"
android:layout_alignBottom="@+id/post_title_input"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textSize="26px"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/post_title_input"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/post_title"
android:layout_toEndOf="@+id/post_title"
android:inputType="textCapSentences"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Post Description"
android:id="@+id/post_description"
android:layout_below="@+id/post_title_input"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="39dp"
android:textSize="26px"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine|textCapSentences"
android:ems="10"
android:id="@+id/editText"
android:layout_marginTop="16dp"
android:layout_below="@+id/post_description"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageButton1"
android:layout_below="@+id/editText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:baselineAlignBottom="false"
android:contextClickable="true"
android:src="@drawable/image_button_icon"
android:onClick="galleryIntent"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"
android:id="@+id/cancel"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@id/imageButton1"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:id="@+id/submit"
android:layout_alignTop="@+id/cancel"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_below="@id/imageButton1"/>
</RelativeLayout>
</ScrollView>
scrollview第一个dirsct的高度child,无论是相对布局还是线性布局,都应该是wrap content,不匹配parent。此外,内部 childs 应该具有特定的重量或高度,并且不匹配 parent 就像您为 imageButton 所做的那样。
我认为 ScrollView 在 Relativelayout 中不起作用。最好用LinearLayout。
尝试将以下内容添加到您的 AndroidManifest 中 activity 以删除默认出现的键盘
android:windowSoftInputMode="stateAlwaysHidden|adjustResize"
并为滚动视图使用 android:layout_height="wrap_content"
,建议使用 LinearLayout 和 垂直方向 布局用于此类用途。
试试这个...
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<RelativeLayout
android:id="@+id/data_entry_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<RelativeLayout
android:id="@+id/Rel12345"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/post_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/post_title_input"
android:layout_alignBottom="@+id/post_title_input"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="Post Title"
android:textSize="26px" />
<EditText
android:id="@+id/post_title_input"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_toEndOf="@+id/post_title"
android:layout_toRightOf="@+id/post_title"
android:inputType="textCapSentences" />
<TextView
android:id="@+id/post_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/post_title_input"
android:layout_marginTop="39dp"
android:text="Post Description"
android:textSize="26px" />
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/post_description"
android:layout_marginTop="16dp"
android:ems="10"
android:inputType="textMultiLine|textCapSentences" />
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/editText"
android:baselineAlignBottom="false"
android:contextClickable="true"
android:onClick="galleryIntent"
/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/Rel1234"
android:layout_below="@id/Rel12345"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<Button
android:id="@+id/cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:text="Cancel"/>
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/cancel"
android:text="Submit" />
</RelativeLayout>
</RelativeLayout>
</ScrollView>
并尝试将以下内容添加到您的 AndroidManifes 中以删除默认使用的键盘
android:windowSoftInputMode="stateAlwaysHidden|adjustResize"