【问题标题】:How to create a shadow border inside a LinearLayout or EditText in android?如何在 android 的 LinearLayout 或 EditText 内创建阴影边框?
【发布时间】:2021-10-06 18:26:58
【问题描述】:

如图所示,如何在编辑文本的 4 边添加阴影边框?应用在代码下方,但仅在单面创建阴影。

<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:startColor="#FFBDBDBD"
        android:centerColor="#65FFFFFF"
        android:endColor="#00FFFFFF"
        />
    <stroke
        android:width="1dp"
        android:color="#C3C3C3" />
    <corners
        android:radius="5dp" />
</shape>

【问题讨论】:

  • 我的回答是否有助于解决您的问题?或者您需要进一步的帮助?
  • @DEX7RA 尚未解决。仍在寻找解决方案
  • 您能详细解释一下您到底在寻找什么吗?似乎有 4 人给出了误导性提问的其他解决方案。这会很有帮助,我相信我会为您提供解决方案:) 谢谢

标签: android android-background android-shape android-shapedrawable


【解决方案1】:

你可以使用像这样的海拔:-

android:elevation="5dp"

高程用作 Z 索引。

【讨论】:

    【解决方案2】:

    您可以尝试在shape 标签内添加widthcolor

    看起来像这样:

    <stroke android:width="3dp" android:color="#bfafb2"/>
    

    【讨论】:

      【解决方案3】:

      首先使用rectangle、圆形corner 和灰色stroke 创建此背景drawable。致电background_drawable.xml

      <?xml version="1.0" encoding="utf-8"?>
      <shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
      
          <solid android:color="#ffffff"/>
          <corners android:radius="5dp" />
          <stroke android:width="1dp"
              android:color="#C3C3C3"/>
      </shape>
      

      之后,您在LinearLayoutEditText 中将此设置为android:background="",这两个小部件都有android:elevation="2dp",因为它在每个与rectanglestroke 匹配的站点上都有阴影。这是您的布局,名为activity_main.xml

      <LinearLayout
              android:layout_width="200dp"
              android:layout_height="100dp"
              android:elevation="2dp"
              android:id="@+id/linear_layout"
              android:background="@drawable/background_drawable"
              android:layout_centerInParent="true"
              android:orientation="horizontal" />
      
          <EditText
              android:layout_width="200dp"
              android:layout_height="wrap_content"
              android:id="@+id/edit_text"
              android:elevation="2dp"
              android:layout_marginTop="10dp"
              android:background="@drawable/background_drawable"
              android:layout_below="@+id/linear_layout"
              android:layout_centerHorizontal="true"
              android:padding="10dp"/>
      

      最终结果将如下所示image

      【讨论】:

        【解决方案4】:
            <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
            <item>
              <shape android:shape="rectangle">
                <solid android:color="#CABBBBBB"/>
                <corners android:radius="2dp" />
              </shape>
        </item>
        
        <item
            android:left="2dp"
            android:right="2dp"
            android:top="2dp"
            android:bottom="2dp">
            <shape android:shape="rectangle">
                <solid android:color="@android:color/white"/>
                <corners android:radius="2dp" />
            </shape>
        </item>
        

        【讨论】:

        • 我想在边框颜色上创建阴影效果,如图所示。这只会创建边框。
        猜你喜欢
        • 2014-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多