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

Dam*_*mir 64 android android-linearlayout

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

And*_*ack 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> 
Run Code Online (Sandbox Code Playgroud)

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

         android:background="@drawable/border"
Run Code Online (Sandbox Code Playgroud)

编辑:

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

在此输入图像描述

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

在此输入图像描述

最后它与所有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> 
Run Code Online (Sandbox Code Playgroud)

希望这个帮助.

  • @hanry你可以用另一种方式来做,检查编辑2 (3认同)
  • 它适用于你,经过测试并与我合作,请检查 (2认同)
  • 还有什么要补充的吗?不适合我.下面的另一个答案有效. (2认同)
  • 透明矩形而不是带红色边框的黑色怎么样? (2认同)

Ken*_*nny 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>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!:)

  • 它有效...这必须是接受的答案人 (3认同)

Jon*_*nas 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>
    
    Run Code Online (Sandbox Code Playgroud)
  3. android:background="@drawable/border"你想要的边界一样回到地面

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