为了账号安全,请及时绑定邮箱和手机立即绑定

我需要这样的设计,但我面临两个问题

我需要这样的设计,但我面临两个问题

MMMHUHU 2023-07-19 17:02:28
我需要一个具有以下项目设计的列表视图模板我尝试了一些找到的代码,但没有得到我需要的结果。  <item    android:bottom="-32dp"    android:left="-3dp"    android:right="-2dp"    android:top="2dp">    <shape android:shape="rectangle" >        <corners android:radius="32dp"/>        <stroke            android:width="2dp"            android:color="#fff" />        <solid android:color="@android:color/transparent" />        <padding            android:bottom="10dp"            android:left="10dp"            android:right="10dp"            android:top="0dp" />    </shape></item>这是我的线性布局背景。
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

尽管我们可以使用 png 或 或 image 来获取此 . 但如果你真的想在这个可绘制对象上执行此操作,那么这里是代码。


我尝试了一下,结果非常相似。


我使用两层列表创建了一个可绘制对象,其中包含两个不同的矩形。


<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:bottom="10dip">

    <shape

        android:shape="rectangle"

        android:useLevel="false">

        <corners android:radius="12dp" />

        <stroke

            android:width="2dp"

            android:color="#ffffff" />


        <size

            android:width="60dp"

            android:height="60dp" />


        <solid android:color="@android:color/transparent" />


    </shape>

</item>

<item android:top="20dip">

    <shape android:shape="rectangle">

        <solid android:color="#800080" />

    </shape>

</item>

您可以在您的视图中使用它作为背景。我已经在我的项目中使用过这个,所以我添加了我的项目视图的代码。 

//img1.sycdn.imooc.com//64b7a6e70001e3a607690170.jpg

<?xml version="1.0" encoding="utf-8"?>

 <LinearLayout 

 xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="#800080">


<android.support.constraint.ConstraintLayout 

    xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    android:id="@+id/linearLayout"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:layout_margin="@dimen/text_18"

    android:background="@drawable/sample">


    <TextView

        android:id="@+id/crime_title"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginStart="16dp"

        android:layout_marginTop="8dp"

        android:layout_marginEnd="16dp"

        android:text="Crime Title"

        android:textColor="@color/colorAccent"

        android:textSize="18sp"

        app:layout_constraintEnd_toStartOf="@+id/crime_solved"

        app:layout_constraintStart_toStartOf="parent"

        app:layout_constraintTop_toTopOf="parent" />


    <TextView

        android:id="@+id/crime_date"

        android:layout_width="0dp"

        android:layout_height="wrap_content"

        android:layout_marginTop="8dp"

        android:paddingBottom="8dp"

        android:text="Crime Date"

        android:textColor="@color/colorAccent"

        app:layout_constraintEnd_toEndOf="@id/crime_title"

        app:layout_constraintStart_toStartOf="@id/crime_title"

        app:layout_constraintTop_toBottomOf="@+id/crime_title" />



    <ImageView

        android:id="@+id/crime_solved"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginTop="16dp"

        android:layout_marginEnd="16dp"

        app:layout_constraintBottom_toBottomOf="@+id/crime_date"

        app:layout_constraintEnd_toEndOf="parent"

        app:layout_constraintStart_toEndOf="@+id/crime_title"

        app:layout_constraintTop_toTopOf="parent"

        app:srcCompat="@drawable/ic_solved" />

</android.support.constraint.ConstraintLayout>

希望这会有所帮助。


查看完整回答
反对 回复 2023-07-19
?
精慕HU

TA贡献1845条经验 获得超8个赞

您可以为该形状创建一个9 补丁图像,而不是使用 xml drawable ,这可能会有所帮助。

在您最喜欢的图像编辑器中创建该形状并将其复制到项目的可绘制目录中。

  1. 在 Android Studio 中,右键单击要从中创建 NinePatch 图像的 PNG 图像,然后单击“创建 9-patch 文件”。

  2. 输入 NinePatch 图像的文件名,然后单击“确定”。您的图像将使用 .9.png 文件扩展名创建。

  3. 双击新的 NinePatch 文件以在 Android Studio 中将其打开。您的工作区现在将打开。左侧窗格是绘图区域,您可以在其中编辑可拉伸面片和内容区域的线条。右侧窗格是预览区域,您可以在其中预览拉伸时的图形。

  4. 在 1 像素周界内单击以绘制定义可拉伸面片和(可选)内容区域的线条。右键单击(或在 Mac 上按住 Shift 键并单击)以擦除之前绘制的线条。

  5. 完成后,单击“文件”>“保存”以保存更改。


查看完整回答
反对 回复 2023-07-19
  • 2 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信