android 图片凸出
来源:互联网 发布:可以聊天的软件 编辑:程序博客网 时间:2024/04/29 04:42
概述
今天有个群友问 android 图片凸出 效果怎么弄,早以前有过类似的需求,整个项目的提示框都是一个背景,背景上方有凸出半张图片,所以用layer-list写了一个背景来实现。
思路
随便画了一下比较丑,大概就是这个样子了,从上图中应该不难看出,有三个部分,顶部为透明的,底部是有色值的,那个六角星就是凸出来的图片。
那么就来动手呗,新建一个资源文件,用layer-list属性,里面用三个item,第一个item设置高度为30dp,第二个item设置top为30dp,就刚好是个垂直布局,第三个item包含一个bitmap标签,作用是为了保持图片的原大小。
代码
layer-list背景
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <!--30dp 透明--> <shape> <size android:height="30dp" /> <corners android:radius="10dp" /> <solid android:color="@android:color/transparent" /> </shape> </item> <!--下偏移30dp--> <item android:top="30dp"> <shape> <corners android:radius="10dp" /> <solid android:color="@android:color/white" /> </shape> </item> <!--用 bitmap 标签来保持原大小--> <item> <bitmap android:gravity="center_horizontal|top" android:src="@mipmap/ic_sync" /> </item></layer-list>layout 设置根节点背景 android:background="@drawable/bg_money_dialog"
<?xml version="1.0" encoding="utf-8"?><!--背景 bg_money_dialog--><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg_money_dialog" android:orientation="vertical"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:hint="请输入提现金额" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:hint="请输入提现密码" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="确认" /></LinearLayout>
dialogFragment代码
public class CheckoutMoneyDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.fragment_checkout_money_dialog, null); builder.setView(view); Dialog dialog = builder.create(); return dialog; }}
效果不佳,可能需要把 EditText 设置一下 layout_marginTop
layout_marginTop="100dp" 后确实图片没有叠在 EditText 之上,可顶部还是没有透明效果,这个原因是由于dialog背景引起的,需然layout透明,可dialog自身也是有背景的,我们把dialog背景透明一下
Dialog dialog = builder.create(); Window window = dialog.getWindow(); window.setBackgroundDrawableResource(android.R.color.transparent); return dialog;
成功搞定!喜欢拿去用,也有其它的方式实现,望同仁奉献!
源码:DemoPicBulge
我建了个Q群:435173211,一起交流交流!
1 0
- android 图片凸出
- Android底部凸出导航,Fragment互相嵌套
- 使用jQuery中prependTo appendTo图片轮播凸出效果
- 用Illustrator凸出斜角制作三维文字
- 简单的gallery(选中 凸出高亮 )
- opencvsharp + unity进行轮廓凸出(ConvexityHull2)
- 用CSS制作凸出按钮效果
- 弹框(DialogFragment)中头像凸出效果
- 文字选中行 字体凸出变大变亮效果
- OpenCV——PS滤镜算法之 Ellipsoid (凸出)
- ios自定义中间凸出 UITabBar,so easy……
- ios自定义中间凸出 UITabBar,so easy……
- 底部选项卡凸出底部栏的解决办法
- Android图片
- Android 图片
- android图片
- android 图片
- Android 图片
- node平台express框架源码分析-1
- Git常用命令总结(超实用)
- 【Caffe安装】import caffe时出错:can not find module skimage.io
- 题目457 大小写互换
- H264视频码流格式浅析
- android 图片凸出
- Fiddler调试工具使用教程
- hdu 2844(多重背包:0/1背包+二进制转化)★
- centos7安装redis3.2
- MUI上传头像
- hdu 5755 Gambler Bo 高斯消元 + 取余逆元
- Android中序列化的Parcelable与Serializable区别及其AS插件
- git-创建本地仓库
- 按帧读取视频