- 浏览: 177504 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
hety163:
socket并不一定是长连接吧。。。
【转】关于socket长连接的心跳包 -
u013490012:
楼主,这个加阴影不是很清楚.我按照文章介绍的,程序出错啊
Android自定义Shape 加上阴影shadow之方法 -
cz2861856:
很好的文章!
Android自定义Shape 加上阴影shadow之方法 -
ezfantasy:
好文,转走了
Android 使用xliff 格式化字符串 -
songfantasy:
ericbaner 写道Android官方blog:http: ...
Android HTTP Clients使用选择介绍
Android支持自定义Shape, 以画出需要的形状,可以作为TextView, EditText, Button的背景drawable资源。Shape很简单,就是一个XML文件,SDK文档里描述其格式如下:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape=["rectangle" | "oval" | "line" | "ring"] > <corners android:radius="integer" android:topLeftRadius="integer" android:topRightRadius="integer" android:bottomLeftRadius="integer" android:bottomRightRadius="integer" /> <gradient android:angle="integer" android:centerX="integer" android:centerY="integer" android:centerColor="integer" android:endColor="color" android:gradientRadius="integer" android:startColor="color" android:type=["linear" | "radial" | "sweep"] android:usesLevel=["true" | "false"] /> <padding android:left="integer" android:top="integer" android:right="integer" android:bottom="integer" /> <size android:width="integer" android:height="integer" /> <solid android:color="color" /> <stroke android:width="integer" android:color="color" android:dashWidth="integer" android:dashGap="integer" /> </shape>
其支持的属性没有shadow, 做Web前端开发的同学写CSS可以很方便地加一个shadow属性值,如何给Android Shape加一个shadow,以得到类似的效果呢?
答案是使用layer-list ! 直接上代码如下:
<?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="#792a03" /> <corners android:radius="19dp" /> </shape> </item> <item android:top="1px"> <shape android:shape="rectangle"> <gradient android:startColor="#ffdb8f" android:endColor="#ffdb8f" android:angle="270" /> <padding android:left="5dp" android:top="3dp" android:right="5dp" android:bottom="3dp" /> <corners android:radius="20dp" /> </shape> </item> </layer-list>
将以上xml存成btn_test, 放到res/drawable/目录下。 将该drawable xml设为一个TextView的backgroiund,
<TextView android:background="@drawable/btn_test" android:layout_marginTop="20dip" android:layout_marginLeft="5dip" android:textColor="#792a03" android:text="1天2小时14分20秒" android:layout_width="wrap_content" android:layout_height="wrap_content" />
其效果如下图所示:
关于layer-list的进一步解释见SDK文档,如下:
Layer List
A LayerDrawable
is a drawable object
that manages an array of other drawables. Each drawable in the list is drawn in the order of the
list—the last drawable in the list is drawn on top.
Each drawable is represented by an <item>
element inside a single <layer-list>
element.
res/drawable/filename
.xml
The filename is used as the resource ID.
LayerDrawable
.R.drawable.filename
In XML:
@[package
:]drawable/filename
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@[package:]drawable/drawable_resource" android:id="@[+][package:]id/resource_name" android:top="dimension" android:right="dimension" android:bottom="dimension" android:left="dimension" /> </layer-list>
<layer-list>
<item>
elements.
attributes:
xmlns:android
"http://schemas.android.com/apk/res/android"
.
<item>
<selector>
element. Accepts child <bitmap>
elements.
attributes:
android:drawable
android:id
"@+id/name
"
. The plus symbol indicates that this should be created as a new
ID. You can use this identifier to
retrieve and modify the drawable with View.findViewById()
or Activity.findViewById()
.android:top
android:right
android:bottom
android:left
All drawable items are scaled to fit the size of the containing View, by default. Thus,
placing your images in a layer list at different positions might increase the size of the View and
some images scale as appropriate. To avoid
scaling items in the list, use a <bitmap>
element inside the <item>
element to specify the drawable and define the gravity to something that does not
scale, such as "center"
. For example, the following <item>
defines an item
that scales to fit its container View:
<item android:drawable="@drawable/image" />
To avoid scaling, the following example uses a <bitmap>
element with centered
gravity:
<item> <bitmap android:src="@drawable/image" android:gravity="center" /> </item>
res/drawable/layers.xml
:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/android_red" android:gravity="center" /> </item> <item android:top="10dp" android:left="10dp"> <bitmap android:src="@drawable/android_green" android:gravity="center" /> </item> <item android:top="20dp" android:left="20dp"> <bitmap android:src="@drawable/android_blue" android:gravity="center" /> </item> </layer-list>
Notice that this example uses a nested <bitmap>
element to define the drawable
resource for each item with a "center" gravity. This ensures that none of the images are scaled to
fit the size of the container, due to resizing caused by the offset images.
This layout XML applies the drawable to a View:
This layout XML applies the drawable to a View:
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/layers" />
The result is a stack of increasingly offset images:
发表评论
-
【转】eclipse 找不到Courier New 样式解决方法
2013-07-13 17:24 1037之前有朋友问到说eclipse3.7,以及以后版本(貌似直 ... -
【转】Android使用ant对项目进行编译签名优化打包
2013-05-14 10:42 1070Android本身是支持ant打包项目的,并且SDK中自带一个 ... -
Android一些常用的颜色值
2013-05-09 17:30 1104一些常用的颜色值: <?xml version= ... -
【转】Android jar resource 资源文件的获取
2013-04-17 23:56 4489jar引用的资源文件必须放在assets文件夹中,并且布局文 ... -
【转】Android导出jar library时资源resource id获取的问题
2013-04-17 23:50 4235当需要把一个Android导出为jar包时,如果里面有用 ... -
【转】Android类库打包方法探究
2013-04-17 10:51 869开发Android应用的时候 ... -
【转】Android编程之解决android-support-v4打包问题
2013-03-11 19:21 1109如果工程引入了android-s ... -
【转】Android NIO Socket编程
2013-03-05 20:45 1694根据前两周写的关于Socket编程的网络通信的代码,现在对有 ... -
【转】关于socket长连接的心跳包
2013-03-05 17:39 2293出于最近对im研究的兴趣,看到smack里有个30s发送一个 ... -
【转】java nio对OP_WRITE的处理解决网速慢的连接
2013-03-05 15:20 205317.3.1 如何处理慢速的 ... -
【转】Java 加密解密基础
2013-01-24 10:54 1048Java 加密解密基础 密码学是研究编制密码和破译密码的 ... -
【转】RSA选用小公钥指数(e=3)真的不安全吗?
2013-01-24 10:04 2980引言现有的大部分RSA算法实现都遵循PKCS#1 v2.1/ ... -
【转】RSA加密的填充模式
2013-01-24 10:02 5099跟DES,AES一样, RSA也是一个块加密算法( bloc ... -
【转载】RSA数字签名与加密、解密间的关系
2013-01-22 22:02 1222转载提及RSA,大家 ... -
ubuntu 10.04LTS安装sun java6 jdk问题解决
2013-01-07 18:01 1246unbuntu10.04安装java6问题 Packag ... -
异步线程干活和回调 的设计模式
2012-12-04 12:24 0老板要干事情通过开启代理线程进行,老板有一个回调函数代理(苦力 ... -
如何成为JAVA大牛?
2012-12-04 11:19 0如何成为JAVA大牛? 首先要有目标的去学习,我给 ... -
经典JAVA面试题
2012-11-29 10:26 0基础: 1. JAVA的数据类型可以分成哪两类? 原始 ... -
接口与抽象类
2012-11-27 23:22 1066以下为选摘自网络,罗 ... -
android 使用Application保存全局变量
2012-10-29 17:37 1738三个步骤,将全局对象保存在Application进程。 ...
相关推荐
本文将详细讲解如何通过自定义shape来实现阴影效果。首先,我们需要理解Android中的`<shape>`和`<layer-list>`标签。 `<shape>`标签用于创建各种几何形状,如矩形、椭圆等,并能为其填充颜色、设置边框等。在这个...
接着,投影(Shadow Projection)在Android中通常指的是类似阴影的效果,但通常用于控件的边缘,使它们看起来像是浮在其他元素之上。这可以通过设置`View`的`outlineProvider`和`clipToOutline`属性实现。例如,可以...
总结来说,Android自定义阴影效果主要依赖于`<layer-list>`和LayerDrawable,通过创建多层Drawable并调整它们的相对位置和颜色,来模拟阴影。这种技术不仅适用于`TabLayout`,还可以应用于任何支持设置背景的View或 ...
为了简化阴影处理,开发者社区还提供了一些第三方库,如`android-shape-shadow`和`android-view-shadow`,它们提供了更灵活的阴影配置和更好的性能优化。 综上所述,Android应用中的阴影和影子实现涉及到多个层面...
此外,第三方库如`Android-Shape-Image-View`和`ShadowView`提供了更便捷的方式来实现阴影效果,它们通常提供更多的定制选项和更好的性能优化。 总结来说,Android提供了多种方式来实现图片和UI元素的阴影效果,...
开发者还可以利用第三方库,如`android-shadow`或`Android-Shape-Image-View`,它们提供了更加便捷的方式来实现阴影效果,简化代码。 综上所述,实现图片阴影和影子效果在Android开发中涉及到多种技术,包括基本的...
Android社区还提供了许多第三方库,如`android-shape-imageview`和`android-gradient-shadow`,它们简化了阴影效果的实现。 总之,Android为开发者提供了多种方式来实现图片阴影和影子效果,可以根据项目需求和...
在Android中,有两种主要的方式来实现阴影效果:`Paint`对象的`setShadowLayer()`方法和`CardView`组件。 1. `Paint`对象的`setShadowLayer()` 这个方法允许你在绘制图形时添加一个阴影层。参数包括模糊半径、阴影...
- **`Android-Shape-Image-View`**: 这是一个开源库,提供了带有自定义阴影效果的ImageView,简化了阴影效果的实现。 - **`Carbon`库**: Carbon库是一个跨平台的UI框架,支持Android和iOS,提供了Material Design...
除了使用`layer-list`,Android还提供了其他方法来实现控件的阴影效果,如`CardView`组件自带的阴影效果,或者利用`Paint`对象的`setShadowLayer()`方法在自定义视图中绘制阴影。然而,使用XML drawable的方式简单且...
- **Android社区提供了许多库**,如`android-shape-imageview`和`android-floating-action-button`,它们封装了阴影效果,使得开发者能轻松添加具有阴影的ImageView或FloatingActionButton。 7. **性能考虑** - *...
本文将详细讲解两种实现Android布局和控件阴影效果的方法。 方法一:使用`android:elevation`属性 从Android Lollipop (API 21) 开始,系统引入了`android:elevation`属性,它可以直接给布局或控件添加阴影效果。`...
Android系统默认的Shadow类并不直接支持二维阴影,但我们可以借助其他技术来实现。这个开源项目可能利用了`layer-list`、`shape`以及`NinePatch`等Drawable资源来构造阴影。`layer-list`可以将多个Drawable堆叠起来...
如果需要自定义更多的头部阴影效果,比如动态改变颜色或阴影的深浅,可以扩展`View`类并重写`onDraw()`方法,或者使用第三方库,如`CardView`,它提供了方便的阴影效果。 总之,"头部阴影渐变效果基于Eclipse"是一...
在Android开发中,创建独特且吸引用户的界面是至关重要的,其中按钮控件是用户交互的核心元素之一。"Android圆形360旋转按钮"是一个专为提升用户体验设计的组件,它结合了美观与动态效果,带给用户更加直观的操作...
3. **圆角矩形(Rounded Corners)**:Material Design提倡使用圆角矩形,开发者可以通过`android:background`属性或自定义Shape资源来实现。 4. **颜色过滤(Color Filter)**:可以改变视图的颜色,如使用饱和度...