如何为 LinearLayout 创建背景,如下图所示

Posted

技术标签:

【中文标题】如何为 LinearLayout 创建背景,如下图所示【英文标题】:How to create background for LinearLayout as shown in the image below 【发布时间】:2015-02-27 13:02:30 【问题描述】:

。我不知道该怎么做。

【问题讨论】:

最简单的方法是放一张图片,比如背景。 指定你投-ive投票的原因...... 我想以某种实用的方式绘制它,不想使用图片......@MikiFranko 如果是这样,你必须使用画布,你可以随心所欲地画。 @MikiFranko 上面的图像在顶部边缘也有阴影,所以我如何在画布上绘制它。有什么帮助?????? 【参考方案1】:

创建一个黄色背景的RelativeLayout,并在顶部添加圆形图像。

这是一个比使用单个图像更具动态性的解决方案,因为 RelativeLayout 会根据屏幕尺寸/方向改变尺寸,并且不会影响圆圈的大小

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:background="#ffc20e">

    <ImageView
        android:layout_
        android:layout_
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/circle_image" />

</RelativeLayout>

【讨论】:

【参考方案2】:

您可以使用相对布局将视图添加到另一个视图之上。对于上面提到的图像,您只需要两个图像并且您必须像这样创建布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_ >

    <ImageView
        android:layout_
        android:layout_
        android:background="@drawable/white_image" />

    <ImageView
        android:layout_
        android:layout_
        android:background="@drawable/yellow_image" />

</RelativeLayout>

要添加动态视图,您可以将叠加位图创建为:

LayoutInflater inflater = LayoutInflater.from(getActivity());
        Bitmap bitmapCopy1 = Bitmap.createBitmap(image.getWidth(), image.getHeight(), Bitmap.Config.ARGB_8888);
        canvas1 = new Canvas(bitmapCopy1); 
        Bitmap pinImage = Utility.createBitmap(pinFloor);
        canvas1.drawBitmap(pinImage, leftPos[i], topPos[i], new Paint());    
        firstImage.setImageBitmap(firstBitmap);
        firstImage.setImageBitmap(bitmapCopy1);
        firstImage.invalidate();

【讨论】:

但是根据我的要求,我必须以某种方式在不使用图像的情况下以编程方式绘制它...... @user3074539 扩展View 并覆盖方法onDraw()。你可以在那里画任何你喜欢的东西(以编程方式)。

以上是关于如何为 LinearLayout 创建背景,如下图所示的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中,如何为条形图创建动态矩形?

如何为地理视图(散景)创建自定义颜色图?

如何为按钮应用彩色动画?

如何为背景图像添加背景颜色? [复制]

如何为原理图创建任务?

如何为音乐文件创建专辑缩略图