如何在线性布局周围添加边框除了底部?

时间:2012-05-04 22:56:35

标签: android android-linearlayout

除了底部以外,如何在线性布局周围添加边框? LinearLayout需要在左侧,顶部和右侧有边框,但不在底部。

4 个答案:

答案 0 :(得分:169)

在drawable文件夹中创建一个名为border.xml的XML文件,并将以下代码放入其中。

 <?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item> 
    <shape android:shape="rectangle">
      <solid android:color="#FF0000" /> 
    </shape>
  </item>   
    <item android:left="5dp" android:right="5dp"  android:top="5dp" >  
     <shape android:shape="rectangle"> 
      <solid android:color="#000000" />
    </shape>
   </item>    
 </layer-list> 

然后在线性布局中添加背景,如下所示:

         android:background="@drawable/border"

编辑:

此XML使用运行 GingerBread 2.3.3 的galaxy进行测试,并完美运行,如下图所示:

enter image description here

同时

使用运行 JellyBean 4.1.2 的galaxy s 3测试并完美运行,如下图所示:

enter image description here

最后,它与所有API完美配合

编辑2:

也可以使用笔划将背景保持为透明,同时保持边框除了底部以外,使用以下代码。

<?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:left="0dp" android:right="0dp"  android:top="0dp"  
        android:bottom="-10dp"> 
    <shape android:shape="rectangle">
     <stroke android:width="10dp" android:color="#B22222" />
    </shape>
   </item>  
 </layer-list> 
希望这有帮助。

答案 1 :(得分:57)

保存此xml并添加为线性布局的背景....

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="4dp" android:color="#FF00FF00" /> 
    <solid android:color="#ffffff" /> 
    <padding android:left="7dp" android:top="7dp" 
            android:right="7dp" android:bottom="0dp" /> 
    <corners android:radius="4dp" /> 
</shape>

希望这有帮助! :)

答案 2 :(得分:22)

肯尼是对的,只想清除一些事情。

  1. 创建文件border.xml并将其放在文件夹res/drawable/
  2. 添加代码

    <shape xmlns:android="http://schemas.android.com/apk/res/android"> 
       <stroke android:width="4dp" android:color="#FF00FF00" /> 
       <solid android:color="#ffffff" /> 
       <padding android:left="7dp" android:top="7dp" 
            android:right="7dp" android:bottom="0dp" /> 
       <corners android:radius="4dp" /> 
    </shape>
    
  3. 在任何您想要边框

  4. 的地方设置android:background="@drawable/border"

    我首先没有工作,因为我把border.xml放在了错误的文件夹中!

答案 3 :(得分:2)

这是一个轻量级且易于集成的库的Github link,使您可以根据需要为所需的任何小部件播放边框,只需基于FrameLayout小部件。

以下是一个快速示例代码,供您查看它是多么容易,但您可以在链接中找到更多信息。

where LEN(AccountNumber) = 11 and ISNUMERIC(AccountNumber)

因此,如果您不想在底部使用边框,请删除此自定义窗口小部件中底部的两行,并完成。

不,我既不是这个图书馆的作者,也不是他的朋友之一; - )