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

Android Studio中ScrollView下方的播放/暂停/停止ImageView无法显示问题求助

解决ScrollView下方按钮无法显示的问题

Hey there! Let's break down why your play/pause/stop ImageViews aren't showing up and fix it step by step:

主要问题分析

  1. ScrollView的高度设置不合理:你给ScrollView设了android:layout_height="wrap_content",而内部的LinearLayout固定了300dp的高度。在一些屏幕尺寸较小的设备上,加上顶部的TextView,整个ScrollView会占据大部分屏幕空间,导致下方的按钮LinearLayout被挤出可视区域。
  2. 多余的tools属性:tools:layout_editor_absoluteX/Y是Android Studio布局编辑器的辅助属性,仅在编辑器中生效,实际运行时没有作用,反而容易误导布局逻辑,建议删除。

修改后的布局代码

<?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"
    android:background="#DFC3C3"
    tools:context=".FirstSong"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView4"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginTop="16dp"
        android:layout_marginBottom="13dp"
        android:background="@drawable/ic_button_brown_pink"
        android:gravity="center"
        android:text="@string/firstSongTitle"
        android:textColor="#26358A"
        android:textSize="28sp"
        android:textStyle="bold" />

    <!-- 修改ScrollView的高度为0dp并设置layout_weight="1",让它占据剩余可用空间 -->
    <ScrollView
        android:id="@+id/scrollView4"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:layout_marginBottom="20dp" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" <!-- 改成wrap_content更合理,让内容决定高度 -->
            android:orientation="vertical">

            <TextView
                android:id="@+id/txtTextView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="36dp"
                android:gravity="center"
                android:text=""
                android:textAlignment="center"
                android:textColor="#094F59"
                android:textSize="17sp"
                android:textStyle="bold" />
        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/imageplay"
            android:layout_width="61dp"
            android:layout_height="34dp"
            app:srcCompat="@drawable/ic_green1playbutton" />

        <ImageView
            android:id="@+id/imagepause"
            android:layout_width="61dp"
            android:layout_height="34dp"
            app:srcCompat="@drawable/ic_green1pausebutton" />

        <ImageView
            android:id="@+id/imagestop"
            android:layout_width="61dp"
            android:layout_height="34dp"
            app:srcCompat="@drawable/ic_green1stopbutton" />
    </LinearLayout>
</LinearLayout>

额外检查项

  • 确认@drawable/ic_green1playbutton、@drawable/ic_green1pausebutton、@drawable/ic_green1stopbutton这些图片资源已经正确导入到项目的res/drawable目录中,文件名没有拼写错误。
  • 如果按钮还是不显示,可以给按钮LinearLayout加上android:paddingVertical="16dp",确保它不会紧贴屏幕底部被遮挡。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 21:49:10