【问题标题】:Drawable with bitmap over可绘制位图
【发布时间】:2018-07-20 11:20:00
【问题描述】:

您好,我正在尝试实现这种外观,但没有成功,也许您可​​以帮助我,谢谢您的时间!

想要的样子:

我的方法是

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">

            <gradient
                android:angle="45"
                android:endColor="#cf6c6c6c"
                android:startColor="#53414141"/>
            <corners
                android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"
                android:topRightRadius="10dp"
                />
        </shape>
    </item>


    <item android:gravity="right"
        android:height="10dp"
        android:width="10dp">
        <bitmap android:src="@drawable/flag_uk"/>
    </item>
</layer-list>

【问题讨论】:

  • 您尝试以固定的图像大小动态绘制图像,而不是将不同的图形放在res/drawable* 文件夹中,这是有原因的吗?
  • 如果您安装了 adobe illustrator,请在 adobe illustrator 中创建它,使用矢量图形很容易。然后另存为svg,网上有svg to xml转换器。你可以得到任何想要的结果。
  • @AmirDe 我会试试谢谢
  • @Philipp 不,没有理由只是测试了结果。
  • 不客气,@Sz-NikaJanos 这里是 svg 到 xml 转换器链接inloop.github.io/svg2android

标签: android android-layout android-view android-xml


【解决方案1】:

请尝试以下可绘制的 xml 代码:

可绘制文件:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:right="25dp">
        <shape
            android:shape="rectangle">
            <corners android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"
                android:topRightRadius="10dp"/>
            <gradient
                android:angle="45"
                android:endColor="#cf6c6c6c"
                android:startColor="#53414141"/>
        </shape>
    </item>
    <item
        android:top="10dp"
        android:left="90dp"
        android:bottom="10dp"
        android:right="15dp">
        <bitmap android:src="@drawable/flag_uk"/>
    </item>

</layer-list>

并将这个drawable用于TextViewLinearLayout,我使用的是LinearLayout:

布局 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".MainActivity"
    android:background="#88ffffff"
    android:orientation="vertical"
    android:gravity="center">
 <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button"
        android:paddingLeft="20dp"
        android:paddingRight="40dp"
        android:gravity="center_vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="coin"
            android:textColor="#ffffff"
            android:textSize="25sp"/>
    </LinearLayout>
</LinearLayout>

**输出:*

【讨论】:

    【解决方案2】:

            <gradient
                android:angle="45"
                android:endColor="#cf6c6c6c"
                android:startColor="#53414141"/>
            <corners
                android:bottomLeftRadius="10dp"
                android:bottomRightRadius="10dp"
                android:topRightRadius="10dp"
                />
        </shape>
    </item>
    
    
    <item android:gravity="right|center_vertical"
        android:height="10dp"
        android:width="10dp">
        <bitmap android:src="@drawable/flag_uk"/>
    </item>
    

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/some_drawable"
        android:text="coin"
        android:paddingStart="10dp"
        android:paddingEnd="20dp"
        android:paddingTop="2dp"
        android:paddingBottom="2dp"
        android:layout_margin="10dp"/>
    

    照片被放大因此像素化

    【讨论】:

      猜你喜欢
      • 2013-06-06
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多