RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
关于沉默效果java代码的信息

Android如何纯java代码实现字体阴影效果

Android实现纯java代码字体阴影效果,主要是通过activity的draw方法,进行重新绘制,如下代码:

站在用户的角度思考问题,与客户深入沟通,找到兴山网站设计与兴山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、国际域名空间、虚拟空间、企业邮箱。业务覆盖兴山地区。

package canvas.test;

import android.app.Activity;

import android.os.Bundle;

import android.content.Context;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.PorterDuff;

import android.graphics.PorterDuff.Mode;

import android.graphics.PorterDuffXfermode;

import android.graphics.Rect;

import android.graphics.RectF;

import android.graphics.drawable.Drawable;

import android.view.View;

public class ShaderEffect extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(new ImageEffect(this));

}

class ImageEffect extends View{

Paint paint; 

public ImageEffect (Context context){

super(context);

paint = new Paint();//初始化画笔,为后面阴影效果使用。

paint.setAntiAlias(true);//去除锯齿。

paint.setShadowLayer(5f, 5.0f, 5.0f, Color.BLACK);//设置阴影层,这是关键。

paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));

}

@Override

public void onDraw(Canvas canvas){

super.onDraw(canvas);

int posX = 20;

int posY = 50;

int PicWidth,PicHegiht; 

Drawable drawable = getResources().getDrawable(R.drawable.button);

Drawable dbe = getResources().getDrawable(R.drawable.button).mutate();//如果不调用mutate方法,则原图也会被改变,因为调用的资源是同一个,所有对象是共享状态的。

Drawable drawTest = getResources().getDrawable(R.drawable.button);

Bitmap bmp = 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);

//Rect rect = new Rect(2*posX + PicWidth, 2*posY + PicHegiht, 2*posX + 2*PicWidth, 2*posY + 2*PicHegiht);//此为理论上的阴影图坐标

Rect rect = new Rect(2*posX + PicWidth + 3, 2*posY + PicHegiht + 3, 2*posX + 2*PicWidth - 2, 2*posY + 2*PicHegiht - 2);

//由于图片的实际尺寸比显示出来的图像要大一些,因此需要适当更改下大小,以达到较好的效果

RectF rectF = new RectF(rect);

canvas.drawRoundRect(rectF, 10f, 10f, paint);//在原有矩形基础上,画成圆角矩形,同时带有阴影层。

canvas.drawBitmap(bmp, 2*posX + PicWidth, 2*posY + PicHegiht, null);//画上原图。

canvas.restore();

}

}

}

怎么使用java代码实现模拟水位涨沉动态效果

这是js...

dom的话设置div的top和bottom属性,用setTimeout()或者setInterval()方法

jquery的话就简单了,直接用animate()方法,也是设置top和bottom属性,slideUp()和slideDown()方法也行。

求JAVA编程代码…………

下面是WINDOW界面的代码,用JAVA SWING写的。

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class PlusWhile {

//主面板

private JFrame mainTop = null;

private JPanel inPanel = null; //输入面板

private JPanel outPanel = null;//输出面板

private JButton count = null; //按钮

private JTextField inText = null; // 输入文本框

private JTextField result = null;//结果文本框

private JLabel resultOut = null;//输出提示

private JLabel remindIn = null;//输入提示

//初始化方法

private void init() {

//组件实例化

mainTop = new JFrame("阶乘计算器");

inPanel = new JPanel();

outPanel = new JPanel();

count = new JButton("计算");

inText = new JTextField(10);

result = new JTextField(10);

resultOut = new JLabel("计算的结果:");

remindIn = new JLabel("请输入要计算的正整数:");

//添加输入组件

inPanel.add(remindIn);

inPanel.add(inText);

inPanel.add(count);

//添加输出组件

outPanel.add(resultOut);

outPanel.add(result);

result.setEnabled(false);

//设置布局样式

mainTop.setLayout(new BorderLayout());

//主面板添加组件

mainTop.add(inPanel, BorderLayout.NORTH);

mainTop.add(outPanel, BorderLayout.SOUTH);

//设置监听

count.addActionListener(new ButtonListener());

//设置屏显位置

mainTop.setLocation(350 , 300);

mainTop.pack();

mainTop.setVisible(true);

mainTop.setAlwaysOnTop(true);

//设置关闭事件

mainTop.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

//监听类

private class ButtonListener implements ActionListener {

public void actionPerformed(ActionEvent event) {

int inputNum = 0;

String input = inText.getText();

//若输入为非数字,提示错误

try {

inputNum = Integer.parseInt(input);

}catch(Exception e) {

inputNum = -1;

}

//输入数值小于0,提示错误

if(inputNum 0) {

inText.setText("请输入正确的数值!");

result.setText("");

}

else if(inputNum == 0) {//输入值为0处理

result.setText("1");

}

else {//输入值为正整数,计算阶乘

int temp = inputNum;

while(inputNum 1) {

temp *= --inputNum;

}

result.setText(temp + "");

}

}

}

//入口方法

public static void main(String[] args) {

new PlusWhile().init();

}

}

有什么不明白的继续补充,呵呵。 加点儿分不。

Java中有什么代码是可以清屏啊??

要java在windows下的cmd下实现清屏,唯一的方案,就是通过JNI调用一个库文件(.dll),这个dll中包含一个实现清屏功能(system(“cls”))的导出函数。

在java程序中加入代码调用这个库,即可实现当前屏幕的清屏。

实现步骤:

1.写一个dll.h

#ifndef _Included_Cls

#define _Included_Cls

#ifdef __cplusplus

extern "C"

{

#endif

JNIEXPORT void JNICALL Java_Cls_clear

(JNIEnv *, jobject);

#ifdef __cplusplus

}

#endif

#endif

2.再写一个dllmain.c

#include "jni.h"

#include "dll.h"

#include "stdlib.h"

JNIEXPORT void JNICALL Java_Cls_clear(JNIEnv *env, jobject obj)

{

system("cls");

}

3.用vc++建立一个dll工程(我的工程名为clsTest)

导入dllmain.c 和dll.h以及jdk下include目录下的jni.h和include/win32下的jni_md.h 共四个文件

然后build 这个dll工程,将生成的clsTest.dll放入到你的java.library.path中的其中一个目录下

查看java.libray.path用代码System.out.print(System.setProperty("java.library.path","."));

我是根据我的配置将clsTest.dll放到C:/Program Files/Java/jdk1.6.0/jre/bin下

4.测试

新建一个测试类Test.java

public class Test{

public native void clear();//左方的native是通知Java这个函数会使用到外部函数

static {

System.loadLibrary("clsTest"); //左方的代码代表我要载入clsTest.dll的动态链接

}

public static void main(String[] args) {

final Test a=new Test();

Runnable k=new Runnable(){

public void run(){

for(int i=0;i20;i++){

System.out.println(i);

try {

Thread.sleep(1000);

a.clear();

} catch (Exception e) {

}

}

}

};

k.run();//执行线程

}

}

5.在cmd下 javac Test.java

一段JAVA小代码

改为,你的boolean数组没有初始化,bar[0]取到的为null,if(null){} 编译通不过去

1. String foo = “blue”;

2. Boolean[] bar = {true};

3. if (bar[0]) {

4. foo = “green”;

5. }


分享名称:关于沉默效果java代码的信息
链接分享:http://lswzjz.com/article/hghsjc.html