我正在开发我的第一个Android应用程序,我正试图让所有内容滚动除了广告。我将除广告之外的所有内容放入RelativeLayout并将其放入ScrollView中。当我点击EditText并且键盘出现时,ScrollView中的所有内容都会向上移动,但我无法滚动。
代码是:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.example.tipcalculator.app.MainActivity">
<com.google.android.gms.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="*adId*"
ads:adSize="BANNER"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:layout_below="@+id/adView">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number|numberDecimal"
android:ems="10"
android:id="@+id/tipTxt"
android:editable="true"
android:clickable="true"
android:hint="Other"
android:layout_alignBottom="@+id/tipOthr"
android:layout_toRightOf="@+id/tipOthr"
android:enabled="false" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number|numberDecimal"
android:ems="10"
android:id="@+id/priceTxt"
android:editable="true"
android:clickable="true"
android:hint="Price"
android:enabled="true"
android:layout_above="@+id/splitInTxt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/splitTxt"
android:layout_marginBottom="22dp"
android:editable="false"
android:clickable="false"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/totalTxt"
android:layout_alignStart="@+id/totalTxt"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate Tip"
android:id="@+id/calcBtn"
android:enabled="false"
android:layout_marginBottom="29dp"
android:clickable="true"
android:gravity="center_vertical"
android:layout_above="@+id/totalTxt"
android:layout_centerHorizontal="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/totalTxt"
android:editable="false"
android:clickable="false"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center"
android:layout_alignBottom="@+id/textView2"
android:layout_alignLeft="@+id/ tipOutTxt "
android:layout_alignStart="@+id/ tipOutTxt " />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10%"
android:id="@+id/tipTen"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipFtn"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15%"
android:id="@+id/tipFtn"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipTnty"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20%"
android:id="@+id/tipTnty"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipTxt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tipOthr"
android:checked="false"
android:layout_above="@+id/calcBtn"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="29dp"
android:clickable="true"
android:enabled="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Total"
android:id="@+id/textView2"
android:layout_above="@+id/splitTxt"
android:layout_alignRight="@+id/textView3"
android:layout_alignEnd="@+id/textView3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Split"
android:id="@+id/textView3"
android:layout_alignBottom="@+id/splitTxt"
android:layout_alignRight="@+id/textView5"
android:layout_alignEnd="@+id/textView5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Split"
android:id="@+id/textView"
android:longClickable="false"
android:singleLine="true"
android:layout_above="@+id/tipTen"
android:layout_toLeftOf="@+id/minusBtn" />
<EditText
android:layout_width="76dp"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/splitInTxt"
android:text="1"
android:enabled="true"
android:editable="true"
android:gravity="center|right"
android:layout_above="@+id/tipTen"
android:layout_centerHorizontal="true" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="+"
android:id="@+id/plusBtn"
android:enabled="true"
android:clickable="true"
android:layout_alignBottom="@+id/splitInTxt"
android:layout_alignRight="@+id/tipTxt"
android:layout_alignEnd="@+id/tipTxt" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="-"
android:id="@+id/minusBtn"
android:clickable="true"
android:enabled="true"
android:layout_alignBottom="@+id/splitInTxt"
android:layout_toLeftOf="@+id/splitInTxt" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/ tipOutTxt "
android:editable="false"
android:clickable="false"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center"
android:layout_alignBottom="@+id/textView5"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Tip"
android:id="@+id/textView5"
android:layout_above="@+id/totalTxt"
android:layout_toRightOf="@+id/tipOthr" />
</RelativeLayout>
</ScrollView>
</RelativeLayout>
答案 0 :(得分:0)
试试这个,将相对布局包裹在线性布局中。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
android:orientation="vertical" >
<com.google.android.gms.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="*adId*"
ads:adSize="BANNER"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:layout_below="@+id/adView">
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number|numberDecimal"
android:ems="10"
android:id="@+id/tipTxt"
android:editable="true"
android:clickable="true"
android:hint="Other"
android:layout_alignBottom="@+id/tipOthr"
android:layout_toRightOf="@+id/tipOthr"
android:enabled="false" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number|numberDecimal"
android:ems="10"
android:id="@+id/priceTxt"
android:editable="true"
android:clickable="true"
android:hint="Price"
android:enabled="true"
android:layout_above="@+id/splitInTxt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/splitTxt"
android:layout_marginBottom="22dp"
android:editable="false"
android:clickable="false"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/totalTxt"
android:layout_alignStart="@+id/totalTxt"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate Tip"
android:id="@+id/calcBtn"
android:enabled="false"
android:layout_marginBottom="29dp"
android:clickable="true"
android:gravity="center_vertical"
android:layout_above="@+id/totalTxt"
android:layout_centerHorizontal="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/totalTxt"
android:editable="false"
android:clickable="false"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center"
android:layout_alignBottom="@+id/textView2"
android:layout_alignLeft="@+id/ tipOutTxt "
android:layout_alignStart="@+id/ tipOutTxt " />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10%"
android:id="@+id/tipTen"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipFtn"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15%"
android:id="@+id/tipFtn"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipTnty"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20%"
android:id="@+id/tipTnty"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipTxt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tipOthr"
android:checked="false"
android:layout_above="@+id/calcBtn"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="29dp"
android:clickable="true"
android:enabled="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Total"
android:id="@+id/textView2"
android:layout_above="@+id/splitTxt"
android:layout_alignRight="@+id/textView3"
android:layout_alignEnd="@+id/textView3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Split"
android:id="@+id/textView3"
android:layout_alignBottom="@+id/splitTxt"
android:layout_alignRight="@+id/textView5"
android:layout_alignEnd="@+id/textView5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Split"
android:id="@+id/textView"
android:longClickable="false"
android:singleLine="true"
android:layout_above="@+id/tipTen"
android:layout_toLeftOf="@+id/minusBtn" />
<EditText
android:layout_width="76dp"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/splitInTxt"
android:text="1"
android:enabled="true"
android:editable="true"
android:gravity="center|right"
android:layout_above="@+id/tipTen"
android:layout_centerHorizontal="true" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="+"
android:id="@+id/plusBtn"
android:enabled="true"
android:clickable="true"
android:layout_alignBottom="@+id/splitInTxt"
android:layout_alignRight="@+id/tipTxt"
android:layout_alignEnd="@+id/tipTxt" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="-"
android:id="@+id/minusBtn"
android:clickable="true"
android:enabled="true"
android:layout_alignBottom="@+id/splitInTxt"
android:layout_toLeftOf="@+id/splitInTxt" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/ tipOutTxt "
android:editable="false"
android:clickable="false"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center"
android:layout_alignBottom="@+id/textView5"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Tip"
android:id="@+id/textView5"
android:layout_above="@+id/totalTxt"
android:layout_toRightOf="@+id/tipOthr" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
要使用scrollview修复页眉和页脚,您可以参考此链接http://www.javacodegeeks.com/2013/10/android-fixed-header-and-footer-with-scrollable-content-layout-example.html
答案 1 :(得分:0)
我找出了RelativeLayout
中使用的Scrollview
可能存在的问题。
您只需使用RelativeLayout
,如:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
使用android:layout_alignParentEnd="true"
和没有任何意义
android:layout_alignParentTop="true"
在同一时间。
如果有帮助,请告诉我。 :)
修改:将ScollView
身高设置为wrap_content
。
答案 2 :(得分:0)
// Try this way,hope this will help you to solve your problem...
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:gravity="center"
android:orientation="vertical"
tools:context="com.example.tipcalculator.app.MainActivity">
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="*adId*"
ads:adSize="BANNER" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fillViewport="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number|numberDecimal"
android:ems="10"
android:id="@+id/tipTxt"
android:editable="true"
android:clickable="true"
android:hint="Other"
android:layout_alignBottom="@+id/tipOthr"
android:layout_toRightOf="@+id/tipOthr"
android:enabled="false" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number|numberDecimal"
android:ems="10"
android:id="@+id/priceTxt"
android:editable="true"
android:clickable="true"
android:hint="Price"
android:enabled="true"
android:layout_above="@+id/splitInTxt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/splitTxt"
android:layout_marginBottom="22dp"
android:editable="false"
android:clickable="false"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/totalTxt"
android:layout_alignStart="@+id/totalTxt"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Calculate Tip"
android:id="@+id/calcBtn"
android:enabled="false"
android:layout_marginBottom="29dp"
android:clickable="true"
android:gravity="center_vertical"
android:layout_above="@+id/totalTxt"
android:layout_centerHorizontal="true" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/totalTxt"
android:editable="false"
android:clickable="false"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center"
android:layout_alignBottom="@+id/textView2"
android:layout_alignLeft="@+id/ tipOutTxt "
android:layout_alignStart="@+id/ tipOutTxt " />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="10%"
android:id="@+id/tipTen"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipFtn"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="15%"
android:id="@+id/tipFtn"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipTnty"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20%"
android:id="@+id/tipTnty"
android:checked="false"
android:clickable="true"
android:enabled="true"
android:layout_above="@+id/tipTxt"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tipOthr"
android:checked="false"
android:layout_above="@+id/calcBtn"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="29dp"
android:clickable="true"
android:enabled="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Total"
android:id="@+id/textView2"
android:layout_above="@+id/splitTxt"
android:layout_alignRight="@+id/textView3"
android:layout_alignEnd="@+id/textView3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Split"
android:id="@+id/textView3"
android:layout_alignBottom="@+id/splitTxt"
android:layout_alignRight="@+id/textView5"
android:layout_alignEnd="@+id/textView5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Split"
android:id="@+id/textView"
android:longClickable="false"
android:singleLine="true"
android:layout_above="@+id/tipTen"
android:layout_toLeftOf="@+id/minusBtn" />
<EditText
android:layout_width="76dp"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/splitInTxt"
android:text="1"
android:enabled="true"
android:editable="true"
android:gravity="center|right"
android:layout_above="@+id/tipTen"
android:layout_centerHorizontal="true" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="+"
android:id="@+id/plusBtn"
android:enabled="true"
android:clickable="true"
android:layout_alignBottom="@+id/splitInTxt"
android:layout_alignRight="@+id/tipTxt"
android:layout_alignEnd="@+id/tipTxt" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="-"
android:id="@+id/minusBtn"
android:clickable="true"
android:enabled="true"
android:layout_alignBottom="@+id/splitInTxt"
android:layout_toLeftOf="@+id/splitInTxt" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/ tipOutTxt "
android:editable="false"
android:clickable="false"
android:gravity="center_vertical"
android:text="$0.00"
android:textAlignment="center"
android:layout_alignBottom="@+id/textView5"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Tip"
android:id="@+id/textView5"
android:layout_above="@+id/totalTxt"
android:layout_toRightOf="@+id/tipOthr" />
</RelativeLayout>
</ScrollView>
</LinearLayout>