2012-12-11 144 views
4

这是我的编码。这是为TextView的4边框设计的蓝色。我想要的只是设计3个边框(顶部,左侧和底部)。如何仅为TextView的左边,顶部和底部边框

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" > 
     <shape> 
      <solid 
       android:color="#449def" /> 
      <stroke 
       android:width="1dp" 
       android:color="#2f6699" /> 
      <corners 
       android:radius="0dp" /> 
      <padding 
       android:left="5dp" 
       android:top="5dp" 
       android:right="5dp" 
       android:bottom="5dp" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <gradient 
       android:startColor="#ffffff" 
       android:endColor="#ffffff" 
       android:angle="270" /> 
      <stroke 
       android:width="1dp" 
       android:color="#2f6699" /> 
      <corners 
       android:radius="0dp" /> 
      <padding 
       android:left="5dp" 
       android:top="5dp" 
       android:right="5dp" 
       android:bottom="5dp" /> 
     </shape> 
    </item> 
</selector> 
+0

http://stackoverflow.com/questions/5254562/is-there-a-simpler-better-way-to-put-a-border-outline-around-my -textview – RobinHood

回答

2

这是一个快速的解决方案(可能是愚蠢的),在你的TextView上加android:translationX="2dp",你可以添加android:paddingRight="2dp"来弥补失落的空间。

8

下面的代码放置在1DP的高度的底部,你玩这个的其他各方

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

<!-- This is the line --> 
<item> 
    <shape> 
     <solid android:color="#535353" /> 
    </shape> 
</item> 

<!-- This is the main color --> 
<item android:bottom="1dp"> 
<shape> 
     <solid android:color="#252525" /> 
</shape> 
</item> 
</layer-list> 

参考讨论Open-sided Android stroke?

+1

线和主要颜色是不同的,你给的链接,我认为你是错误的。评论应该改变 –

1

尝试这样

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape> 
      <padding android:bottom="1dp" android:left="1dp" android:right="0dp" 
       android:top="1dp"/> 
      <solid android:color="#000"/> 
     </shape> 
    </item> 

    <!-- Background --> 
    <item> 
     <shape> 
      <solid android:color="@color/white"/> 

     </shape> 
    </item> 
</layer-list> 
相关问题