我正在尝试将后退按钮保留在页面底部,并使用嵌套滚动视图填充统计信息相对布局下方的空间和页面底部的后退按钮。它目前适合在顶部的统计数据下,但是从页面底部按下后退按钮,因为它适合页面。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.swapsy.jack.broketoballing.FoodActivity"
android:orientation="vertical"
android:id="@+id/linWholePage">
<RelativeLayout
android:id="@+id/statsTop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="14dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="@drawable/textbackground"
android:layout_alignParentStart="true"
android:layout_marginBottom="5dp"
android:paddingBottom="5dp">
<ImageView
android:id="@+id/imgFood"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_food"
android:layout_marginTop="5dp"
android:layout_marginStart="5dp" android:contentDescription="@string/todo" />
<TextView
android:id="@+id/txtFood"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imgFood"
android:layout_marginStart="16dp"
android:layout_toEndOf="@+id/imgFood"
android:text="@string/_300_300"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginTop="5dp"/>
<ProgressBar
android:id="@+id/foodBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/txtFood"
android:layout_marginStart="11dp"
android:layout_toEndOf="@+id/txtFood"
android:layout_marginTop="3dp"
android:background="@drawable/foodbaroutline"
android:max="300"
android:progress="150"
android:progressDrawable="@drawable/foodprogressdrawable"
android:padding="2dp"/>
<ImageView
android:id="@+id/imgHealth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imgFood"
android:layout_below="@+id/imgFood"
android:src="@drawable/ic_health"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp" android:contentDescription="@string/todo" />
<TextView
android:id="@+id/txtHealth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/txtFood"
android:layout_alignTop="@+id/imgHealth"
android:text="@string/_300_300"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginTop="5dp"/>
<ProgressBar
android:id="@+id/healthBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/foodBar"
android:layout_alignTop="@+id/txtHealth"
android:layout_marginTop="3dp"
android:background="@drawable/healthbaroutline"
android:max="300"
android:progress="300"
android:progressDrawable="@drawable/healthprogressdrawable"
android:padding="2dp"/>
<ImageView
android:id="@+id/imgClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imgHealth"
android:layout_below="@+id/imgHealth"
android:contentDescription="@string/todo"
android:paddingTop="7dp"
android:src="@drawable/ic_clock" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imgClock"
android:layout_marginStart="13dp"
android:layout_toEndOf="@+id/imgClock"
android:text="@string/timestring"
android:textStyle="bold"
android:textSize="17sp"
android:layout_marginTop="12dp"
android:id="@+id/txtTime" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imgClock"
android:layout_below="@+id/imgClock"
android:src="@drawable/ic_money"
android:layout_marginTop="7dp"
android:id="@+id/imgMoney" android:contentDescription="@string/todo" />
<TextView
android:id="@+id/txtMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imgMoney"
android:layout_alignStart="@+id/txtTime"
android:text="@string/_0"
android:textSize="17sp"
android:layout_marginBottom="5dp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imgBank"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imgMoney"
android:layout_below="@+id/imgMoney"
android:layout_marginTop="11dp"
android:src="@drawable/ic_bank" />
<TextView
android:id="@+id/txtBankBal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/txtMoney"
android:layout_alignTop="@+id/imgBank"
android:text="$0"
android:textSize="17sp"
android:textStyle="bold"
android:layout_marginTop="5dp"/>
</RelativeLayout>
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_below="@+id/imgBank"
android:layout_marginTop="2dp"
android:layout_marginBottom="3dp"
ads:adSize="SMART_BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/5224354917"
android:visibility="visible"
/>
<android.support.v4.widget.NestedScrollView
android:id="@+id/scrFood"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:id="@+id/btnEatRubbish"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat out of a bin $0"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatBeans"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat Beans $2"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatSliceOfCake"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat Slice of Cake $5"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatCheeseBurger"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat Cheese Burger $20"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatOrganicMeal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat Organic Meal $70"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatRestaurant"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat at Restaurant $140"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatUltimateMeal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat an Ultimate Meal $200"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<RelativeLayout
android:id="@+id/relBack"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center|bottom">
<Button
android:id="@+id/btnBack"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:text="@string/back"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
</RelativeLayout>
</LinearLayout>
我希望它看起来像这样......
答案 0 :(得分:1)
将nestedScrollView包含在线性布局中,其中参数为
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
wrap_content
代码是这样的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/linWholePage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.swapsy.jack.broketoballing.FoodActivity">
<RelativeLayout
android:id="@+id/statsTop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="14dp"
android:background="@drawable/textbackground"
android:paddingBottom="5dp">
<ImageView
android:id="@+id/imgFood"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="5dp"
android:contentDescription="@string/todo"
android:src="@drawable/ic_food" />
<TextView
android:id="@+id/txtFood"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imgFood"
android:layout_marginStart="16dp"
android:layout_marginTop="5dp"
android:layout_toEndOf="@+id/imgFood"
android:text="@string/_300_300"
android:textSize="17sp"
android:textStyle="bold" />
<ProgressBar
android:id="@+id/foodBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/txtFood"
android:layout_marginStart="11dp"
android:layout_marginTop="3dp"
android:layout_toEndOf="@+id/txtFood"
android:background="@drawable/foodbaroutline"
android:max="300"
android:padding="2dp"
android:progress="150"
android:progressDrawable="@drawable/foodprogressdrawable" />
<ImageView
android:id="@+id/imgHealth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imgFood"
android:layout_below="@+id/imgFood"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:contentDescription="@string/todo"
android:src="@drawable/ic_health" />
<TextView
android:id="@+id/txtHealth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/txtFood"
android:layout_alignTop="@+id/imgHealth"
android:layout_marginTop="5dp"
android:text="@string/_300_300"
android:textSize="17sp"
android:textStyle="bold" />
<ProgressBar
android:id="@+id/healthBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/foodBar"
android:layout_alignTop="@+id/txtHealth"
android:layout_marginTop="3dp"
android:background="@drawable/healthbaroutline"
android:max="300"
android:padding="2dp"
android:progress="300"
android:progressDrawable="@drawable/healthprogressdrawable" />
<ImageView
android:id="@+id/imgClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imgHealth"
android:layout_below="@+id/imgHealth"
android:contentDescription="@string/todo"
android:paddingTop="7dp"
android:src="@drawable/ic_clock" />
<TextView
android:id="@+id/txtTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/imgClock"
android:layout_marginStart="13dp"
android:layout_marginTop="12dp"
android:layout_toEndOf="@+id/imgClock"
android:text="@string/timestring"
android:textSize="17sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imgMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imgClock"
android:layout_below="@+id/imgClock"
android:layout_marginTop="7dp"
android:contentDescription="@string/todo"
android:src="@drawable/ic_money" />
<TextView
android:id="@+id/txtMoney"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imgMoney"
android:layout_alignStart="@+id/txtTime"
android:layout_marginBottom="5dp"
android:text="@string/_0"
android:textSize="17sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imgBank"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/imgMoney"
android:layout_below="@+id/imgMoney"
android:layout_marginTop="11dp"
android:src="@drawable/ic_bank" />
<TextView
android:id="@+id/txtBankBal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/txtMoney"
android:layout_alignTop="@+id/imgBank"
android:layout_marginTop="5dp"
android:text="$0"
android:textSize="17sp"
android:textStyle="bold" />
</RelativeLayout>
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginBottom="3dp"
android:layout_marginTop="2dp"
android:visibility="visible"
ads:adSize="SMART_BANNER"
ads:adUnitId="ca-app-pub-3940256099942544/5224354917" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<android.support.v4.widget.NestedScrollView
android:id="@+id/scrFood"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:id="@+id/btnEatRubbish"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat out of a bin $0"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatBeans"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat Beans $2"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatSliceOfCake"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat Slice of Cake $5"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatCheeseBurger"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat Cheese Burger $20"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatOrganicMeal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat Organic Meal $70"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatRestaurant"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat at Restaurant $140"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
<Button
android:id="@+id/btnEatUltimateMeal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Eat an Ultimate Meal $200"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
<LinearLayout
android:id="@+id/relBack"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom">
<Button
android:id="@+id/btnBack"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:text="@string/back"
android:textAllCaps="false"
android:textSize="20sp"
android:textStyle="normal" />
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
永远记住XML代码是从TOP到Bottom解析的,你的相对布局没有被正确渲染,因为你把它放在最后,所以只需将它放在嵌套滚动视图上方并在嵌套滚动视图中设置layout_above @ backbtn布局的ID,如果您需要代码,请告诉我,但我建议您自己尝试:)