如何在相对布局中使用边框(可绘制)?

Posted

技术标签:

【中文标题】如何在相对布局中使用边框(可绘制)?【英文标题】:How to use border (drawable) in a relative layout? 【发布时间】:2016-05-05 05:25:31 【问题描述】:

我有一个这样的可绘制(xml)。

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="10dp"/>
<padding android:left="5dp" android:right="5dp" android:top="5dp" android:bottom="5dp"/>
<solid android:color="#FF00FF00"/>
</shape>

我的按钮在父线性布局中。

<LinearLayout
    android:layout_
    android:layout_
    android:layout_gravity="center_horizontal"
    android:background="@drawable/custombordergreen"
    android:orientation="vertical">

    <Button
        android:id="@+id/startClock"
        style="?android:attr/buttonStyleSmall"
        android:layout_
        android:layout_
         android:text="@string/start"
        android:textSize="22sp"
        android:layout_gravity="center_horizontal"
        android:background="@drawable/startbutton"/>

</LinearLayout>

但如果按钮已经是相对布局中的兄弟(并在“toLeftOf”中引用),则我无法使用该技术。

没有重新设计布局以避免“相对”,还有其他方法可以在我的按钮周围放置边框吗?

【问题讨论】:

***.com/a/7690648/3808452 这个答案对您有帮助吗?它使用描边作为边框。 那也行。我认为这与这里的答案相同。 【参考方案1】:

在 xml 中更改您的实体 android:color

<solid android:color="#00000000" />

【讨论】:

我认为这不会有帮助。这些颜色是我在线性布局中使用时想要的。当仅包含按钮的线性布局被引用我的按钮的相对布局“包裹”时,我收到错误。【参考方案2】:

把它作为你的按钮背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle" >

 <solid android:color="#ff3399" />

<stroke
    android:
    android:color="#111111" />

<corners
    android:bottomLeftRadius="05dp"
    android:bottomRightRadius="05dp"
    android:topLeftRadius="05dp"
    android:topRightRadius="05dp" />
</shape>

【讨论】:

效果很好。我可以让它看起来就像我第一个解决方案中的那些。为了保持一致性,我将更改所有按钮。

以上是关于如何在相对布局中使用边框(可绘制)?的主要内容,如果未能解决你的问题,请参考以下文章

在相对布局内对齐复选框

学习css 在用margin进行布局的时候,内层使用margin-top应该是相对于父层边框定位,为啥连父层也一起移动

将新视图绘制到相对布局中

当有许多子视图时,如何使相对布局可滚动?

RelativeLayout(相对布局)

如何在相对布局中添加固定标题和滚动视图表行?