当前位置:首页 » 安卓系统 » android阴影布局

android阴影布局

发布时间: 2025-07-02 14:57:40

Ⅰ android 怎么给button添加阴影

在button中添加elevation属性。注意一点:他的父控件要设置的大一点,不然显示不出来

Ⅱ 如何而去掉android中Button自带的阴影效果

如果想在保留边框的情况下去掉边框上的阴影,设置边框为实线即可,button边框默认是双线,就会出现一个很难看的立体效果,我就查了查api,发现边框分着双线和实线,如果边框有双线,那这和出现的场景一样啊,我就再次设置成实线了发现。。。。。。。那个恶心的虚影没了,而且保留了边框。

Ⅲ 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 圆角边框 阴影边框怎么设置

所谓添加阴影,就是两个画布从重叠,上方的画布小于下方的画布,阴影颜色为下方的画布的颜色。
item 中shape 的属性 (rectangle:矩形;line:线性;oval:椭圆;ring:环形),默认为矩形
corners //设置圆角幅度,必须是在shape=rectangle的时候,corners才有效
<corners
Android:radius="dimension" //全部的圆角半径
android:topLeftRadius="dimension" //左上角的圆角半径
android:topRightRadius="dimension" //右上角的圆角半径
android:bottomLeftRadius="dimension" //左下角的圆角半径
android:bottomRightRadius="dimension" /> //右下角的圆角半径
eg:<corners android:radius="10dp" />
solid用以指定内部填充色
e.g:<solid android:color="color" />
gradient //定义渐变色,可以定义两色渐变和三色渐变,及渐变样式
linear(线性渐变)、radial(放射性渐变)、sweep(扫描式渐变), 在构造放射性渐变时,要加上android:gradientRadius属性(渐变半径),即必须指定渐变半径的大小才会起作用。
<gradient
android:type=["linear" | "radial" | "sweep"] //共有3中渐变类型
android:angle="integer" //渐变角度,必须为45的倍数,0为从左到右,90为从上到下
android:centerX="float" //渐变中心X的相当位置,范围为0~1
android:centerY="float" //渐变中心Y的相当位置,范围为0~1
android:startColor="color" //渐变开始点的颜色
android:centerColor="color" //渐变中间点的颜色,在开始与结束点之间
android:endColor="color" //渐变结束点的颜色
android:gradientRadius="float" //渐变的半径,只有当渐变类型为radial时才有效
android:useLevel=["true" | "false"] /> //使用LevelListDrawable时就要设置为true。设为false时才有渐变效果
stroke //这是描边属性,可以定义描边的宽度,颜色,虚实线等
<stroke
android:width="dimension" //描边的宽度
android:color="color" //描边的颜色 // 以下两个属性设置虚线
android:dashWidth="dimension" //虚线的宽度,值为0时是实线
android:dashGap="dimension" /> //虚线的间隔

Ⅳ Android 5.0 elevation 设置阴影无效

elevation 设置阴影需要注意两点:
1、view需要设置背景
2、阴影是绘制在父控件上的,子控件和父控件之间要留空隙,用padding也不行
在开发过程中有过这样的布局:

我子Linearlayout是设置的圆角背景,结果这样的效果是:只有圆角的便便才有一丁点的阴影,原因是父布局设置的是padding,子控件是match_parent,空隙不足导致,将子布局改为margin,去掉父控件的padding就行了

Ⅵ 安卓怎么在linearLayout或者其他一些组件底部添加阴影

有两种解决方案:

1、使用9-patch 图片,制作一个阴影部分的图片,然后横向拉伸即可


2、使用layer-list

  • 在res/drawable下,新建background_with_shadow.xml文件,该文件代码如下:

<?xmlversion="1.0"encoding="utf-8"?>
<layer-listxmlns:android="http://schemas.android.com/apk/res/android">

<!--bottomshadow-->
<item>
<shapeandroid:shape="rectangle">
<!--fromtoptobottom-->
<gradient
android:angle="90"
android:centerColor="#bbbbbb"
android:endColor="#d5d5d5"
android:startColor="#a9a09d"/>
<cornersandroid:radius="5dp"/>
</shape>
</item>

<!--content-->
<itemandroid:bottom="2dp">
<shapeandroid:shape="rectangle">
<solidandroid:color="#50c1e9"/>
<cornersandroid:radius="5dp"/>
</shape>
</item>

</layer-list>
  • 使用background_with_shadow.xml文件

假设有bottom_shadow.xml文件,内容如下:

<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#bfbfbf">

<LinearLayout
android:layout_marginTop="40dp"
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="vertical"
android:background="@drawable/background_with_shadow">
</LinearLayout>

<TextView
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="活动海报"/>

</LinearLayout>
  • 效果图如下

Ⅶ Android studio中控件TextView学习

TextView作为Android开发中的基础控件,其学习内容丰富且实用。下面将对TextView的学习进行概括性介绍,包含其基本属性、阴影效果以及实现跑马灯的三种方法。

**基础属性代码练习**:在Android开发中,TextView用于显示文本信息。学习之初,可以通过设置TextView的文本、字体大小、颜色等基础属性进行实践操作,这些属性通过set方法进行调整。

**带阴影的TextView代码练习**:为TextView添加阴影效果,可以提升UI的美观度。实现该功能可通过修改TextView的阴影属性,例如设置阴影颜色、阴影半径、阴影偏移等。具体代码示例为:`myTextView.setShadowLayer(3f, 1f, 1f, Color.GRAY);`。

**实现跑马灯的三种方式**:跑马灯效果在Android应用中常见,用于显示滚动的文字或图片。实现方式有三种:

1. **手动点击TextView**:用户点击TextView时触发滚动效果。实现时需监听TextView的点击事件,并在事件处理中实现滚动逻辑。

2. **自定义MyTextView**:创建一个自定义的TextView类,重写其滚动逻辑,无需用户点击即可自动启动滚动。

3. **改回TextView并加requestFocus**:通过设置TextView的requestFocus属性,使其在界面中获得焦点后自动启动滚动效果。

上述代码示例旨在展示实现思路,具体实现细节需根据项目需求和API版本进行相应调整。

**推荐学习资源**:对于初学者而言,系统学习Android开发技术是提升的关键。推荐《Android核心技术进阶手册》一书,内容全面且适合初学者,帮助巩固基础并深入理解Android开发。如果你正在学习阶段或已有1-2年开发经验,这本资料将对你有很大帮助。

**总结**:在Android开发中,掌握基础控件如TextView的运用是必不可少的技能。随着学习的深入,更多控件和功能将逐渐掌握。Android开发之路充满挑战,但通过不断实践和学习,每一步积累都将为未来的技术成长铺平道路。希望每位开发者都能在Android领域探索出一片属于自己的天地。

热点内容
家用电脑和网吧电脑做成服务器 发布:2025-07-03 18:22:07 浏览:855
jsp刷新缓存 发布:2025-07-03 18:18:06 浏览:923
机房服务器启动不起来是什么原因 发布:2025-07-03 18:18:02 浏览:444
脚本召唤坐骑攻略 发布:2025-07-03 18:17:59 浏览:229
皓影智享加装哪些配置好 发布:2025-07-03 17:54:44 浏览:615
mongodbjava 发布:2025-07-03 17:54:31 浏览:99
外键约束sql语句 发布:2025-07-03 17:51:04 浏览:456
struts2上传文件大小限制 发布:2025-07-03 17:51:01 浏览:521
奔驰导航什么配置 发布:2025-07-03 17:46:42 浏览:743
服务器2012r2远程服务怎么开启 发布:2025-07-03 17:46:01 浏览:455