【问题标题】:How to change the length of line in drawable resource?如何更改可绘制资源中线的长度?
【发布时间】:2020-01-24 09:38:40
【问题描述】:

我使用以下 xml 代码来绘制可绘制图像:

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

    <item>
        <shape
            android:shape="rectangle" >
            <corners
                android:topLeftRadius="30dp"
                android:topRightRadius="30dp"
                android:bottomLeftRadius="30dp"
                android:bottomRightRadius="30dp" />
            <solid
                 android:color="@color/black" />
            <padding
                 android:left="0dp"
                 android:top="0dp"
                 android:right="0dp"
                 android:bottom="0dp" />
            <size
                 android:width="60dp"
                 android:height="60dp" />
           </shape>
     </item>

     <item>
        <rotate
             android:fromDegrees="45"
             android:toDegrees="45"
             android:pivotX="50%"
             android:pivotY="50%">

            <shape
                android:shape="line">
                <stroke
                      android:width="2dp"
                     android:color="@color/white" />
               </shape>
          </rotate>
     </item>
</layer-list>

通过上面的代码,我最终得到了这张图片:

现在我必须减少圆圈中心的白线长度。我在线上同时使用了&lt;size android:height="40dp" /&gt;&lt;size android:width="40dp" /&gt;,但它什么也没做。那么,我怎样才能减少线的长度呢?

【问题讨论】:

  • 你想达到什么结果?
  • 你看到圆圈上标题为 45% 的白线了吗?我想缩短它的长度吗?
  • @eegooDeveloper 尝试发布答案
  • @KalpeshRupani 谢谢。有效。我必须在您的回答中删除 @dimen
  • 很高兴为您提供帮助! :)

标签: android xml-drawable


【解决方案1】:

你可以试试这个

为您的项目添加底部、顶部、结束和开始

 <item
        android:bottom="10dp"
        android:top="10dp"
        android:end="10dp"
        android:start="10dp">
        <rotate
            android:fromDegrees="45"
            android:toDegrees="45"
            android:pivotX="50%"
            android:pivotY="50%">

            <shape
                android:shape="line">
                <stroke
                    android:width="2dp"
                    android:color="@color/white" />

            </shape>
        </rotate>
    </item>

【讨论】:

    【解决方案2】:

    使用此代码

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item>
            <shape android:shape="rectangle">
                <corners
                    android:bottomLeftRadius="30dp"
                    android:bottomRightRadius="30dp"
                    android:topLeftRadius="30dp"
                    android:topRightRadius="30dp" />
                <solid android:color="@color/black" />
                <padding
                    android:bottom="0dp"
                    android:left="0dp"
                    android:right="0dp"
                    android:top="0dp" />
                <size
                    android:width="60dp"
                    android:height="60dp" />
            </shape>
        </item>
    
        <item
            android:bottom="5dp"
            android:end="10dp"
            android:start="10dp"
            android:top="5dp">
            <rotate
                android:fromDegrees="45"
                android:pivotX="50%"
                android:pivotY="50%"
                android:toDegrees="45">
    
                <shape android:shape="line">
                    <stroke
                        android:width="2dp"
                        android:color="@color/white" />
                </shape>
            </rotate>
        </item>
    </layer-list>
    

    【讨论】:

      【解决方案3】:

      您可以调整矩形形状的填充以减小线条的宽度

      你可以试试这个代码

      <item>
          <shape
              android:shape="rectangle" >
              <corners
                  android:topLeftRadius="30dp"
                  android:topRightRadius="30dp"
                  android:bottomLeftRadius="30dp"
      
                  android:bottomRightRadius="30dp" />
              <solid
                  android:color="@color/black" />
              <padding
                  android:left="10dp"
                  android:top="10dp"
                  android:right="10dp"
                  android:bottom="10dp" />
              <size
                  android:width="60dp"
                  android:height="60dp" />
          </shape>
      </item>
      
      <item>
          <rotate
              android:fromDegrees="45"
              android:toDegrees="45"
              android:pivotX="50%"
      
              android:pivotY="50%">
      
              <shape
                  android:shape="line">
                  <stroke
                      android:width="2dp"
                      android:color="@color/white" />
              </shape>
          </rotate>
      </item>
      

      【讨论】:

        猜你喜欢
        • 2018-03-26
        • 2011-10-04
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多