You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Activity无法滚动到底部 排查XML布局文件问题

问题原因

  1. 你当前使用的根布局RelativeLayout本身不支持滚动功能,当页面内所有控件的总高度超过手机屏幕的物理高度时,超出屏幕的部分会直接被截断,无法通过滑动查看。
  2. 按钮控件的布局属性存在冲突:你同时给Button设置了layout_below="@+id/tvSummary"(位于简介文本下方)、layout_alignParentBottom="true"(位于父布局底部)两个冲突的位置属性,加上底部188dp的边距设置,会导致控件位置计算异常,后续的RatingBar也会被挤出可视区域。

修复方案

在外层嵌套ScrollView作为根布局,让页面获得滚动能力,同时删除Button的冲突属性即可,修改后的完整代码如下:

<?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_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/gradient"
    android:fillViewport="true"
    tools:context=".ClickedItemActivity">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="wrap_content"
            android:layout_height="400dp"
            android:layout_centerHorizontal="true"
            android:src="@mipmap/ic_launcher"
            android:scaleType="fitXY" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Name"
            android:textSize="16sp"
            android:layout_below="@+id/imageView"
            android:layout_centerHorizontal="true"
            android:id="@+id/tvName"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Director"
            android:textSize="16sp"
            android:layout_below="@+id/tvName"
            android:layout_centerHorizontal="true"
            android:id="@+id/tvDirector"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Genre"
            android:textSize="16sp"
            android:layout_below="@+id/tvDirector"
            android:layout_centerHorizontal="true"
            android:id="@+id/tvGenre"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Summary"
            android:textSize="16sp"
            android:layout_below="@+id/tvGenre"
            android:layout_centerHorizontal="true"
            android:id="@+id/tvSummary"/>

        <Button
            android:id="@+id/button3"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:layout_marginTop="20dp"
            android:background="@drawable/button_background"
            android:layout_centerHorizontal="true"
            android:shadowRadius="@android:integer/config_mediumAnimTime"
            android:text="Гласувай"
            android:layout_below="@+id/tvSummary"/>

        <RatingBar
            android:id="@+id/ratingBar2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/button3" />

    </RelativeLayout>
</ScrollView>

额外说明

  • 所有TextView的textSize单位从dp调整为sp,这是Android官方推荐的字体单位,会跟随系统字体大小调整,符合用户使用习惯。
  • 给Button和RatingBar增加了合适的顶部边距,避免控件挨太近影响视觉效果。
  • ScrollView的fillViewport="true"属性是为了避免当页面内容不足一屏时布局显示异常,不影响滚动功能。

内容的提问来源于stack exchange,提问作者Robincho Bibanka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 01:15:07