2017-08-11 86 views
0

我想在android中绘制这样的形状。Android - 如何绘制一个透明的矩形边框形状,只有其角落可见?

enter image description here

我用下面的代码

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/shape_my"> 
<stroke 
    android:width="2dp" 
    android:dashWidth="20dp" 
    android:dashGap="20dp" 
    android:color="#c1c1c1" /> 
<padding 
    android:bottom="20dp" 
    android:left="20dp" 
    android:right="20dp" 
    android:top="20dp" /> 
<corners android:radius="0dp" /> 
<solid android:color="#00000000" /> 
</shape> 

但是,没有完美的我。帮助我,朋友。

回答

0
<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <solid android:color="@color/transparent" /> 
    <stroke 
     android:width="1.5dp" 
     android:color="@color/white" /> 
    <padding 
     android:bottom="5dp" 
     android:left="5dp" 
     android:right="5dp" 
     android:top="5dp" /> 
    <corners 
     android:bottomLeftRadius="5dp" 
     android:bottomRightRadius="5dp" 
     android:topLeftRadius="5dp" 
     android:topRightRadius="5dp" /> 
</shape> 
0
<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:bottom="1dp" 
    android:left="-2dp" 
    android:right="-2dp" 
    android:top="-2dp"> 
    <shape android:shape="rectangle" > 
     <stroke 
      android:width="1dp" 
      android:color="#FF000000" /> 

     <solid android:color="#00FFFFFF" /> 

     <padding android:left="10dp" 
      android:right="10dp" 
      android:top="10dp" 
      android:bottom="10dp" /> 
    </shape> 
</item> 

0

这里是你要与跳过边框为白色,几乎毫无例外的。我使用图层列表来实现它。你应该尝试一下,如果你需要中心透明

enter image description here

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:width="300dp" 
     android:height="300dp"> 
     <shape android:shape="rectangle"> 
      <stroke 
       android:width="15px" 
       android:color="#000000" /> 
      <solid android:color="#00000000" /> 
     </shape> 
    </item> 
    <item 
     android:width="8dp" 
     android:bottom="35dp" 
     android:top="35dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="#FFFFFF" /> 
     </shape> 
    </item> 
    <item 
     android:width="8dp" 
     android:bottom="35dp" 
     android:gravity="right" 
     android:top="35dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="#FFFFFF" /> 
     </shape> 
    </item> 
    <item 
     android:height="8dp" 
     android:gravity="top" 
     android:left="35dp" 
     android:right="35dp" 
     android:top="-1dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="#FFFFFF" /> 
     </shape> 
    </item> 
    <item 
     android:height="8dp" 
     android:gravity="bottom" 
     android:left="35dp" 
     android:right="35dp"> 
     <shape android:shape="rectangle"> 
      <solid android:color="#FFFFFF" /> 
     </shape> 
    </item> 
</layer-list> 
+0

感谢@Divyang。但我想那白线是透明的太..只有角落需要是可见的。 –

+0

然后这可能使用Vector Drawable https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html –

相关问题