① 怎么为android控件边缘添加阴影
为控件设置一个有阴影感的背景图片即可,可以使用shape
在自定义shape中增加一层或多层,并错开,即可显示阴影效果。为增加立体感,按钮按下的时候,只设置一层。我们可以通过top, bottom, right 和 left 四个参数来控制阴影的方向和大小
//自定义两种阴影效果
第一种
java"><?xmlversion="1.0"encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:state_pressed="true">
<layer-list>
<itemandroid:left="4dp"android:top="4dp">
<shape>
<solidandroid:color="#ff58bb52"/>
<cornersandroid:radius="30dip"/>
</shape>
</item>
</layer-list>
</item>
<item>
<layer-list>
<!--第一层-->
<itemandroid:left="4dp"android:top="4dp">
<shape>
<solidandroid:color="#66000000"/>
<cornersandroid:radius="30dip"/>
<!--描边-->
<strokeandroid:width="1dp"android:color="#ffffffff"/>
</shape>
</item>
<!--第二层-->
<itemandroid:bottom="4dp"android:right="4dp">
<shape>
<solidandroid:color="#ff58bb52"/>
<cornersandroid:radius="30dip"/>
<!--描边-->
<strokeandroid:width="1dp"android:color="#ffffffff"/>
</shape>
</item>
</layer-list>
</item>
</selector>
第二种
<?xmlversion="1.0"encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<!--点击之后-->
<itemandroid:state_pressed="true">
<layer-list>
<itemandroid:left="4dp"android:top="4dp">
<shape>
<solidandroid:color="#ff58bb52"/>
<cornersandroid:radius="3dp"/>
</shape>
</item>
</layer-list>
</item>
<!--正常状态-->
<item>
<layer-list>
<!--第一层-->
<itemandroid:left="2dp"android:top="2dp">
<shape>
<solidandroid:color="#66000000"/>
<cornersandroid:radius="3dp"/>
</shape>
</item>
<!--第二层-->
<itemandroid:bottom="4dp"android:right="4dp">
<shape>
<solidandroid:color="#ff58bb52"/>
<cornersandroid:radius="3dp"/>
</shape>
</item>
<!--第三层-->
<itemandroid:bottom="6dp"android:right="6dp">
<shape>
<solidandroid:color="#ffcccccc"/>
<cornersandroid:radius="3dp"/>
</shape>
</item>
</layer-list>
</item>
</selector>
设置后的效果图如下
② 如何利用setShadowLayer给TextView背景加阴影
1在代码中添加文字阴影
TextView 有一个方法
/**
* Gives the text a shadow of the specified radius and color, the specified
* distance from its normal position.
*
* @attr ref android.R.styleable#TextView_shadowColor
* @attr ref android.R.styleable#TextView_shadowDx
* @attr ref android.R.styleable#TextView_shadowDy
* @attr ref android.R.styleable#TextView_shadowRadius
*/
public void setShadowLayer(float radius, float dx, float dy, int color) {
mTextPaint.setShadowLayer(radius, dx, dy, color);
mShadowRadius = radius;
mShadowDx = dx;
mShadowDy = dy;
invalidate();
}
mTextView.setShadowLayer(10F, 11F,5F, Color.YELLOW); 第一个参数为模糊度,越大越模糊。 第二个参数是阴影离开文字的x横向距离。 第三个参数是阴影离开文字的Y横向距离。 第四个参数是阴影颜色。(如果模糊度为0是看不到阴影效果的)
Button是继承TextView的,所以Button也可以在代码中使用setShadowLayer(float radius, float dx, float dy, int color)方法
2在配置文件中添加文字阴影
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/person_popularvalue"
android:layout_alignParentLeft="true"
android:layout_marginBottom="5.0dip"
android:layout_marginLeft="10.0dip"
android:shadowColor="@color/black"
android:shadowDx="0"
android:shadowDy="1"
android:shadowRadius="1"
android:textColor="@color/white"
android:textSize="14sp" >
</TextView>
android:shadowColor 阴影的颜色
android:shadowDx 阴影的水平偏移量
android:shadowDy 阴影的垂直偏移量
android:shadowRadius 阴影的范围
需要注意的地方 :将android:shadowRadius=0 的时候是看不到阴影的
Button的文字阴影效果的添加与上面的一样。
③ 最近在做Android应用,想做出类似的图片阴影效果,怎么实现
其实这种阴影很简单,就是做一个渐变的黑色阴影然后覆盖在原图就OK了,至于怎么做的话LZ可以看下PHOTOSHOP之类的渐变阴影功能,几分钟就可以做好了
④ android layer-list 阴影怎么写
要实现这种效果当然有多 种方式,比如背景图片直接加阴影效果,或者用代码画一个(onDraw())。这次我们直接用layer-list来实现。在项目 res->drawable中创建一个xml,如果列表中有layer-list选择的话直接选择创建,如果没有的话就随意(似乎4.0以下没有 layer-list选择),没有的话将xml文件中的根标签改为layer-list即可。上述效果具体代码如下:
<?xmlversion="1.0"encoding="utf-8"?>
<layer-listxmlns:android="http://schemas.android.com/apk/res/android">
<!--阴影部分-->
<!--个人觉得更形象的表达:top代表下边的阴影高度,left代表右边的阴影宽度。其实也就是相对应的offset,solid中的颜色是阴影的颜色,也可以设置角度等等-->
<item
android:left="2dp"
android:top="2dp">
<shapeandroid:shape="rectangle">
<gradient
android:angle="270"
android:endColor="#0F000000"
android:startColor="#0F000000"/>
<corners
android:bottomLeftRadius="6dip"
android:bottomRightRadius="6dip"
android:topLeftRadius="6dip"
android:topRightRadius="6dip"/>
</shape>
</item>
<!--背景部分-->
<!--形象的表达:bottom代表背景部分在上边缘超出阴影的高度,right代表背景部分在左边超出阴影的宽度(相对应的offset)-->
<item
android:bottom="3dp"
android:right="3dp">
<shapeandroid:shape="rectangle">
<gradient
android:angle="270"
android:endColor="#FFFFFF"
android:startColor="#FFFFFF"/>
<corners
android:bottomLeftRadius="6dip"
android:bottomRightRadius="6dip"
android:topLeftRadius="6dip"
android:topRightRadius="6dip"/>
</shape>
</item>
</layer-list>
⑤ Android如何纯java代码实现字体阴影效果
Android实现纯java代码字体阴影效果,主要是通过activity的draw方法,进行重新绘制,如下代码:
packagecanvas.test;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.content.Context;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
importandroid.graphics.Canvas;
importandroid.graphics.Color;
importandroid.graphics.Paint;
importandroid.graphics.PorterDuff;
importandroid.graphics.PorterDuff.Mode;
importandroid.graphics.PorterDuffXfermode;
importandroid.graphics.Rect;
importandroid.graphics.RectF;
importandroid.graphics.drawable.Drawable;
importandroid.view.View;
{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(newImageEffect(this));
}
classImageEffectextendsView{
Paintpaint;
publicImageEffect(Contextcontext){
super(context);
paint=newPaint();//初始化画笔,为后面阴影效果使用。
paint.setAntiAlias(true);//去除锯齿。
paint.setShadowLayer(5f,5.0f,5.0f,Color.BLACK);//设置阴影层,这是关键。
paint.setXfermode(newPorterDuffXfermode(Mode.SRC_IN));
}
@Override
publicvoidonDraw(Canvascanvas){
super.onDraw(canvas);
intposX=20;
intposY=50;
intPicWidth,PicHegiht;
Drawabledrawable=getResources().getDrawable(R.drawable.button);
Drawabledbe=getResources().getDrawable(R.drawable.button).mutate();//如果不调用mutate方法,则原图也会被改变,因为调用的资源是同一个,所有对象是共享状态的。
DrawabledrawTest=getResources().getDrawable(R.drawable.button);
Bitmapbmp=BitmapFactory.decodeResource(getResources(),R.drawable.button);
PicWidth=drawable.getIntrinsicWidth();
PicHegiht=drawable.getIntrinsicHeight();
drawTest.setBounds(posX,(2*posY)+PicHegiht,posX+PicWidth,(2*posY)+2*PicHegiht);
drawable.setBounds(posX,posY,posX+PicWidth,posY+PicHegiht);
dbe.setBounds(0,0,PicWidth,PicHegiht);
canvas.drawColor(Color.WHITE);//设置画布颜色
canvas.save(Canvas.MATRIX_SAVE_FLAG);
dbe.setColorFilter(0x7f000000,PorterDuff.Mode.SRC_IN);
canvas.translate(posX+(int)(0.9*PicWidth/2),posY+PicHegiht/2);//图像平移为了刚好在原图后形成影子效果。
canvas.skew(-0.9F,0.0F);//图像倾斜效果。
canvas.scale(1.0f,0.5f);//图像(其实是画布)缩放,Y方向缩小为1/2。
dbe.draw(canvas);//此处为画原图像影子效果图,比原图先画,则会在下层。
drawable.clearColorFilter();
canvas.restore();
canvas.save(Canvas.MATRIX_SAVE_FLAG);
drawable.draw(canvas);//此处为画原图像,由于canvas有层次效果,因此会盖在影子之上。
canvas.restore();
//默认无效果原图
canvas.save(Canvas.MATRIX_SAVE_FLAG);
drawTest.draw(canvas);
canvas.restore();
//图片阴影效果
canvas.save(Canvas.MATRIX_SAVE_FLAG);
//Rectrect=newRect(2*posX+PicWidth,2*posY+PicHegiht,2*posX+2*PicWidth,2*posY+2*PicHegiht);//此为理论上的阴影图坐标
Rectrect=newRect(2*posX+PicWidth+3,2*posY+PicHegiht+3,2*posX+2*PicWidth-2,2*posY+2*PicHegiht-2);
//由于图片的实际尺寸比显示出来的图像要大一些,因此需要适当更改下大小,以达到较好的效果
RectFrectF=newRectF(rect);
canvas.drawRoundRect(rectF,10f,10f,paint);//在原有矩形基础上,画成圆角矩形,同时带有阴影层。
canvas.drawBitmap(bmp,2*posX+PicWidth,2*posY+PicHegiht,null);//画上原图。
canvas.restore();
}
}
}
⑥ android 文字怎么加阴影效果 怎么无效
Android:shadowColor 阴影颜色
android:shadowDx 阴影的水平偏移量
android:shadowDy 阴影的垂直偏移量
android:shadowRadius 阴影的范围
为了统一风格和代码的复用,通常可以把这个样式抽取放入到style.xml文件中
<TextView
style="@style/textstyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="字体样式"
android:textSize="30sp"
android:textStyle="bold" />
样式实现:
<?xmlversion="1.0"encoding="utf-8"?>
<resources>
<stylename="textstyle">
<itemname="android:shadowColor">#ff0000ff</item>
<itemname="android:shadowRadius">10</item>
<itemname="android:shadowDx">5</item>
<itemname="android:shadowDy">5</item>
</style>
</resources>
关于android文字阴影,共有四个属性可以设置:
android:shadowColor :阴影颜色
android:shadowDx :阴影x方向位移
android:shadowDy :阴影y方向位移
android:shadowRadius :阴影的半径
注意:阴影的半径必须设,为0时没有效果。
下面为改变x位移:
android:shadowColor="#ff000000" (前两位为透明度)
android:shadowDx="2"
android:shadowDy="0"
android:shadowRadius="1"
效果(向右为正):
下面为改变y位移:
android:textColor="#979790"
android:shadowColor="#ff000000"
android:shadowDx="0"
android:shadowDy="2"
android:shadowRadius="1"
效果(向下为正):
下面改变半径:
android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="1"
⑦ Android textview 怎么实现点击后中文字体变粗的效果和点击后出现阴影的效果
下面是自己做的一个效果,可以拷贝到自己的项目里面看看,因为网络原因就不上传结果图了
1.MainActivity.java
packagecom.example.a07;
importandroid.app.Activity;
importandroid.graphics.Color;
importandroid.graphics.Typeface;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.TextView;
{
privateTextViewtv;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv=(TextView)this.findViewById(R.id.tv);
tv.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewarg0){
//粗体
tv.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
//模糊度//阴影离开文字的x横向距离//y距离//阴影颜色
tv.setShadowLayer(1F,20F,-20F,Color.GRAY);
}
});
}
}
2.activity_main.xml
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="点击后中文字体变粗的效果和点击后出现阴影的效果"
android:textSize="25sp"/>
</LinearLayout>
满意请采纳
⑧ 这种 ANDROID边界效果怎么做的.发光或者叫阴影
边界(分割线)可以插入一个imageview 设置background 的颜色为黑色,高度为1dp。至于阴影就是图片,这个得让你们的美工来做。
⑨ 安卓4.0怎么加上桌面文字阴影
用个holo
launcher或者apex桌面,和4.0原生桌面界面完全一样,尤其是apex桌面
什么都可以自定义的,呵呵
⑩ 关于设计,文字上面的阴影是怎么做的
您好,可以参考以下两种方法,灵活运用
第一种:
1、打开AI,ctrl+n新建文件,输入想要的文字
2、选择上方菜单栏中的“效果”—“风格化”—“投影”
3、这时会弹出投影的设置框,先在下面的预览前面打对勾,看一下现在的效果是不是你想要的
4、接着可以对其中的数值进行修改,直到做出你满意的样式
5、选择颜色,可以更改一个投影色
6、完成之后,点击确定即可。这种方法不仅适用于文字,还可以是各种图形
第二种:
1、打开画图工具
2、把前景色设为灰色,单击文本工具,设置字体为方正姚体,字号48磅,字型选择倾斜。输入“想要的字,把它移到居中的位置
3、把前景色设为红色,单击文本工具,输入想要的字体,字体字号不变,选择透明文字。这样4、移动图层时不会遮住下一层文字
5、移动文本框,使两个接近重合,有些相错
6、移动好后如果觉得不满意,可以后退进行修改或重做
7、单击文件---保存