使用android java无边框滚动

Posted

技术标签:

【中文标题】使用android java无边框滚动【英文标题】:Scrolling with no borders using android java 【发布时间】:2021-12-25 22:19:26 【问题描述】:

我想在我的android 应用程序中使用ScrollView 进行布局,这样我的scrollview 项目的边框在滚动时不会改变它们的形状。请参考下面的截图。

When screens loads

When I start scrolling the scrollview

您会注意到,对于每个 scrollview 项目,我都有圆顶角,但是当我开始滚动这些顶角时,这些顶角会在上面的视图后面并给整个 scrollview 一个顶部形状的框(屏幕截图 2)。我想要做的是,当我开始滚动时,scrollview 的顶部应该一直有圆角,以避免顶部出现盒子状的外观和感觉。

<LinearLayout
    android:layout_
    android:layout_
    android:layout_marginStart="20dp"
    android:layout_marginEnd="20dp"
    android:orientation="vertical">

    <TextView
        style="@style/TextAppearance.MaterialComponents.Headline5"
        android:layout_
        android:layout_
        android:text="Discover New Flavors"
        android:textStyle="bold" />

    <TextView
        android:layout_
        android:layout_
        android:layout_marginTop="10dp"
        android:text="CATEGORIES"
        android:textStyle="bold" />

    <ScrollView
        android:layout_
        android:layout_>

        <LinearLayout
            android:layout_
            android:layout_
            android:layout_marginTop="10dp"
            android:orientation="vertical">

            <RelativeLayout
                android:layout_
                android:layout_
                android:background="@drawable/meal_detail_radius"
                android:backgroundTint="#FF8B0C"
                android:padding="10dp">

                <TextView
                    android:layout_
                    android:layout_
                    android:layout_marginTop="10dp"
                    android:text="Burgers"
                    android:textColor="@color/white"
                    android:textSize="18sp"
                    android:textStyle="bold" />

                <ImageView
                    android:layout_
                    android:layout_
                    android:layout_alignParentEnd="true"
                    android:src="@drawable/burger" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_
                android:layout_
                android:layout_marginTop="-25dp"
                android:background="@drawable/meal_detail_radius"
                android:backgroundTint="#39BDF6"
                android:padding="10dp">

                <TextView
                    android:layout_
                    android:layout_
                    android:layout_marginTop="10dp"
                    android:text="Wraps"
                    android:textColor="@color/white"
                    android:textSize="18sp"
                    android:textStyle="bold" />

                <ImageView
                    android:layout_
                    android:layout_
                    android:layout_alignParentEnd="true"
                    android:src="@drawable/burger" />
            </RelativeLayout>

            <RelativeLayout
                android:layout_
                android:layout_
                android:layout_marginTop="-25dp"
                android:background="@drawable/meal_detail_radius"
                android:backgroundTint="#B35CC6"
                android:padding="10dp">

                <TextView
                    android:layout_
                    android:layout_
                    android:layout_marginTop="10dp"
                    android:text="Drinks"
                    android:textColor="@color/white"
                    android:textSize="18sp"
                    android:textStyle="bold" />

                <ImageView
                    android:layout_
                    android:layout_
                    android:layout_alignParentEnd="true"
                    android:src="@drawable/burger" />
            </RelativeLayout>
            
        </LinearLayout>
    </ScrollView>


</LinearLayout>

【问题讨论】:

【参考方案1】:

也为您的父布局添加背景,如下所示

<LinearLayout
    android:layout_
    android:layout_
    android:layout_marginStart="20dp"
    android:layout_marginEnd="20dp"
    android:orientation="vertical"                
    android:background="@drawable/meal_detail_radius">

也许它有效!

【讨论】:

以上是关于使用android java无边框滚动的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中创建无边框按钮 [重复]

android button边框怎么去掉

[android]无边框Tabbar底部

Flutter 中的无边框选择高亮效果

为什么我会以这种背景颜色(rgb(204,204,204)无重复滚动0%0%/自动填充框边框框)格式?

在处理 Java 中移动无边框窗口