向 EditText 字段添加阴影效果

2024-03-09

我正在尝试设计一个编辑文本字段像这样有阴影(底部和右侧)

尝试谷歌搜索并搜索了许多SO讨论,但所有讨论都是针对TextView而不是EditText。

这是我的代码,向输入文本添加阴影,但不向 TextField 添加阴影

<EditText android:id="@+id/txtpin" 
        android:maxLength="4" 
        android:layout_marginLeft="10dp" 
        android:layout_height="37dp" 
        android:gravity="center_horizontal" 
        android:inputType="textPassword" 
        android:longClickable="false" 
        android:layout_width="160dp" 

        android:shadowColor="@color/Black"
        android:shadowDx="1.2"
        android:shadowDy="1.2"
        android:shadowRadius="1.5" 

        android:background="@color/White">
            <requestFocus></requestFocus>
        </EditText>

我想它需要一些可绘制的自定义 xml 视图,但没有得到确切的想法。 实现这一目标的逻辑是什么。

任何帮助,将不胜感激。


嗯..@Shalini 的回答以这种方式帮助了我,但我仍然有另一种方法来使用 EditText 字段实现 2D 阴影,我将与您分享。

我们需要为 EditText 创建三层的自定义 XML 视图, 底部阴影和右侧阴影

下面是我的代码。

res/drawable/edittext_shadow.xml

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

<!-- most important is order of layers -->

    <!-- Bottom right side 2dp Shadow -->
    <item >
        <shape android:shape="rectangle">
            <solid android:color="#000000" />           
        </shape>
    </item>

    <!-- Bottom 2dp Shadow -->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#000000" />   
        </shape>
    </item>

    <!-- White Top color -->
    <item android:bottom="3px" android:right="3px">
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />           
        </shape>
    </item> 
</layer-list>

现在我们可以使用“Background”属性将此阴影视图设置为我们的 TextField

像这样

资源/布局/main.xml

<EditText android:layout_width="wrap_content" 
            android:id="@+id/txtpin"  
            android:maxLength="4" 
            android:layout_height="37dp" 
            android:gravity="center_horizontal" 
            android:longClickable="false" 
            android:padding="2dp"

            android:inputType="textPassword|number" 
            android:password="true" 
            android:background="@drawable/edittext_shadow" 
            android:layout_weight="0.98" 
            android:layout_marginLeft="15dp">
                <requestFocus></requestFocus>
   </EditText>

结果屏幕就像我在上面的问题中发布的那样。

感谢SO,分享知识。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向 EditText 字段添加阴影效果 的相关文章

  • 使用 xmllint 检查 XML 语法

    我在处理某些 XML 打印文件时遇到问题 其中源系统忽略将某些字符转换为其等效的 XML 语法 例如 未转换为 amp 有没有办法用 xmllint 捕获这个 我不需要使用 XSD 检查一般树结构 xmllint noout your te
  • 在 Anko DSL 中创建自定义 View/ViewGroup 类

    我想创建一个自定义视图 它只是一些 Android 视图的包装 我考虑创建一个自定义 ViewGroup 来管理其子视图的布局 但我不需要这么复杂 我基本上想做的是 class MainActivity verticalLayout tex
  • 如何获取.so文件的依赖项列表?

    假设我有libFoo so为 android arm 编译 我不确定它链接到什么STL实现 有options http developer android com intl ru ndk guides standalone toolchai
  • FileNotFoundException:/存储/模拟/0/Android

    我尝试这个文件写入器 读取器代码段进行测试 File file new File Environment getExternalStorageDirectory LM lm lisdat 01 txt FileOutputStream ou
  • Renderscript 示例构建错误

    所以我想尝试使用 RenderScript 的示例 并在 Eclipse 中导入了 HelloWorld 但它给了我这样的错误 2011 10 25 13 10 48 HelloWorld home mileoresko workspace
  • 从基本表单加上 XML 生成自定义表单文档?

    这是我的第一次堆栈溢出 而且很复杂 对不起 我的任务是从基本模板和一些 XML 生成自定义文档without每种情况都有一个自定义表单设计元素 Here s 整个画面 我们正在构建一个 Lotus Notes 客户端 而不是 Web 应用程
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • Android Studio更新到1.5后Gradle错误

    今天我已将 Android Studio 更新到 v1 5 我的 libgdx 项目在这次更新之前运行良好 现在我收到此错误消息 Error Unable to load class org gradle mvn3 org sonatype
  • 如何防止布局的方向改变,而不是整个屏幕/活动的方向改变

    我需要一个子布局 可以是任何布局 例如FrameLayout or RelativeLayout 忽略方向变化并始终保持横向 但不是它的父级或任何其他兄弟布局 视图 它们应该相应地改变它们的方向 因此 我不能使用setRequestedOr
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • 如何使用 Firebase UI 在 recyclerView 中显示时从 Firebase 数据库中的子级引用父级

    我目前正在引用 quote text 子项 这些数据显示在recyclerview using firebase用户界面 我想获取 quote text 的父名称 如何获取 quote text 孩子的父母姓名 When user clic
  • 如何在进入新活动之前终止线程和处理程序

    大家好 在我尝试清理处理程序时 这段代码可能有点混乱 因为我一直在尝试追踪崩溃发生的位置 我有一个对话框活动 显示密码输入 进度条由线程和处理程序动画显示 似乎当我试图查看进度条是否完成并尝试终止线程时 当我尝试进入新活动时 我这样做的方式
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • JavaDoc 在 Android 项目中不起作用

    我在 Ubuntu 10 04 上使用 Eclipse 3 5 2 进行 Android 开发 我安装了 来自 Ubuntu 存储库的 Sun JDK Eclipse 3 5 2 经典 来自 eclipse org 解压到 opt ecli
  • 为什么Android应用程序在发布到市场后尺寸会增加?

    我最近在 Android 市场上发布了我的应用程序 显示应用程序大小为 5 4MB 而实际 apk 大小为 2 8MB 为什么显示多出2MB 我应该如何限制我的应用程序大小 请帮我 您的应用程序大小会增加 因为您使用了复制保护选项ON在发布
  • onBackPressed 隐藏 不破坏 Activity

    我知道如何取消后退按键 以便活动 主窗口保持可见 public void onBackPressed return 我的目标是隐藏该活动 但是 在没有完成它的情况下 您如何在 onBackPressed 事件中做到这一点 即我想达到 onP
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • 在没有 Wifi 的情况下获取 Android 设备的 MAC 地址

    如何获取没有 Wifi 接口的 Android 设备 例如 Android 模拟器 的网络接口的 MAC 地址 通过WifiManager返回获取的WifiInfonull EDIT 更清楚地说 我必须与本地网络上的现有网络协议 不是我设计

随机推荐

  • 如何防止Ktor客户端对url参数进行编码?

    我正在尝试使用 kotlin 创建一个 Android 应用程序 这个应用程序需要有一个迷你下载管理器 因为我需要下载从 100MB 到 8GB 的 文件 并且当服务器支持暂停时 用户可以稍后暂停和恢复下载 搜索我发现了Ktor 库并阅读文
  • 如何让 Unirest(java) 忽略证书错误

    我正在使用 Unirest java 版本 发出 GET 和 POST 请求 但是在访问 SSL 加密站点时遇到问题 因为我的程序位于公司网络后面 并且网络管理员为我设置了防火墙映射 例如foobar com被映射到56 1 89 12 4
  • 在php中获取远程图像的图像类型

    使用预构建的系统来抓取远程图像并将其保存到服务器上 目前 没有检查图像是否确实存在于该远程位置 并且它具有某种文件类型 jpg jpeg gif 我的任务是执行这两项操作 我认为这非常简单 因为我只需使用一个简单的正则表达式和 getima
  • 如何访问静态 Web 方法内的页面控件? [复制]

    这个问题在这里已经有答案了 我已经使用 jQuery 使用静态调用了代码隐藏方法WebMethod method 该 Web 方法调用成功 但当尝试访问文本框控件时出现错误 非静态字段 方法或属性需要对象引用 WebMethod publi
  • Django:动态构造 {% include %} 标签的值?

    我想用一个 include page html 在我的 Django 模板中标记 并构造值page html动态地 在 Django 中有什么方法可以做到这一点吗 这是一个伪代码示例 include page mode html Thank
  • 如何将 jar、源代码和 Javadoc 添加到本地 Maven 存储库?

    我想添加最新版本的 JGoodies Forms 1 5 0 作为依赖项 但我在主存储库中找不到比 1 0 5 更新的任何内容 所以如果我理解正确 我可以做的下一个最好的事情要做的就是将其添加到我的本地存储库中 当我从网站下载它时 我得到一
  • 使用 React 进行变更检测

    我正在研究更改检测机制 并且在reactjs案例中遇到了一些麻烦 当反应组件中的 props 发生变化时 该组件将被 重新渲染 由于 diff 算法的原因 这并不完全正确 但想法就在这里 我知道当某物发生这种情况时 React 会浏览其内部
  • 如何让 Rails 为 ember.js 生成正确格式的 JSON?

    在 Ember 模型指南中http emberjs com guides models the rest adapter toc relationships http emberjs com guides models the rest a
  • DialogFragment 按钮被推出屏幕 API 24 及更高版本

    我正在定制DialogFragment显示可选择的数据列表 该列表太长 无法在不滚动的情况下显示在屏幕上 对于 API 23 及以下版本 一切似乎都工作正常 但当我在 API 24 上进行测试时 DialogFragment 的按钮不再可见
  • 从 Firebase 数据库获取的数据显示在 3 个单独的警报对话框中,而不是一个

    我正在从中获取一些数据FirebaseDatabase然后将它们放入array然后尝试以List这是一个习惯AlertDialog 这是代码 query mDatabase child child child anotherChild ch
  • Spring MVC 4:“application/json”内容类型未正确设置

    我有一个使用以下注释映射的控制器 RequestMapping value json method RequestMethod GET produces application json ResponseBody public String
  • 如何强制删除Python对象?

    我很好奇的细节 del 在 python 中 何时 为什么应该使用它以及不应该使用它 我经历了惨痛的教训才知道 它并不像人们天真地期望的析构函数那样 因为它并不是与 new init class Foo object def init se
  • Jquery中动态选择Drop Down

    我有 4 个下拉菜单 默认情况下 每个 drop 都有一个 select 选项 每个盒子都有一个唯一的 ID 如您所见 如果上面的下拉列表值为 select 则禁用第二个下拉列表 仅当该值不是 select 时才会启用 这是我的代码 doc
  • Java ImageIO.read 导致 OSX 挂起

    我必须在 Mac OSX 上读取图像时执行一些操作 但是在调用 ImageIO read File 时它似乎挂起 似乎也没有出现堆栈跟踪 它实际上只是挂起 想知道其他人是否遇到过这个问题 我已经成功地写了一张图片 只是阅读方面似乎有问题 使
  • C# 中的双向适配器和可插拔适配器模式有什么区别?

    双向适配器和可插入适配器都可以访问这两个类 并且还可以更改需要更改的方法的行为 以下是我的代码 双向适配器 public interface IAircraft bool Airborne get void TakeOff int Heig
  • 即使删除 Entitlements.plist 后,Xamarin 钥匙串错误中也找不到有效的 iPhone 代码签名密钥

    我收到这个错误即使删除 Entitlements plist 后 Xamarin 钥匙串错误中仍发现 iPhone 代码签名密钥当尝试使用 Xamarin Studios 构建 HelloWorld iPhone 应用程序时 我了解在真实设
  • 使用 jemmy 测试 java web start 应用程序

    我需要使用 Jemmy 创建一些 gui 测试 但我不知道如何使用 javaws 应用程序启动它 在教程 示例 等中是这样的 new ClassReference org netbeans jemmy explorer GUIBrowser
  • Python Pickling 字典 EOFError

    我有几个脚本在服务器上运行 用于腌制和取消腌制各种字典 它们都使用相同的基本代码进行酸洗 如下所示 SellerDict open home hostadl SellerDictkm rb SellerDictionarykm pickle
  • Angular 6 不应用 scss 样式

    我有一个组件页面和相应的样式表 但是 component scss 中的类不适用于该页面 没有错误 我仍然想知道为什么 这是我的产品详细信息 page component html div h1 Product Detail Page h1
  • 向 EditText 字段添加阴影效果

    我正在尝试设计一个编辑文本字段像这样有阴影 底部和右侧 尝试谷歌搜索并搜索了许多SO讨论 但所有讨论都是针对TextView而不是EditText 这是我的代码 向输入文本添加阴影 但不向 TextField 添加阴影