导航:首页 > 操作系统 > android文字阴影效果怎么做的

android文字阴影效果怎么做的

发布时间:2022-07-04 20:27:43

① 怎么为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文字阴影,共有四个属性可以设置:

注意:阴影的半径必须设,为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、单击文件---保存

阅读全文

与android文字阴影效果怎么做的相关的资料

热点内容
进入组策略的命令 浏览:137
python数据结构和内存 浏览:25
python软件功能简介 浏览:784
外国程序员一般多少岁退休 浏览:917
怎么看linux和时间服务器 浏览:680
程序员搞笑花名 浏览:501
dota2怎么设置国服服务器地址 浏览:212
单片机高电平驱动 浏览:115
ios多选文件夹 浏览:909
加强行车调度命令管理 浏览:243
服务器已禁用什么意思 浏览:150
部队命令回复 浏览:755
神奇宝贝服务器地图怎么设置 浏览:382
加密算法输出固定长度 浏览:862
程序员去重庆还是武汉 浏览:121
服务器如何撤销网页登录限制 浏览:980
微信公众平台php开发视频教程 浏览:628
怎么看苹果授权绑定的app 浏览:255
压缩机单级压缩比 浏览:380
linux测试php 浏览:971