我有个办法:
成都创新互联秉承实现全网价值营销的理念,以专业定制企业官网,网站设计、成都网站制作,小程序设计,网页设计制作,成都做手机网站,网络营销推广帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
首先你应该有10张数字图片,然后你在代码中写个String数组【0.。。9】数组中的项对应相应的数字图片,比如1图片对应String【1】,这样图片上的数字 你就可以拿到4个String字符串了 然后把4个字符串用StringBuider拼接起来转化成一个String字符串 和editext.gettext拿到的数据作比较,相等返回true 否则返回false。
String[] s = {"0","1","2","3","4","5","6","7","8","9"};
//比如图片展示的1052
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(s[1]).append(s[0]).append(s[5]).append(s[2]);
String toString = stringBuilder.toString();
e =editText.getText().toString();
if (toString.equals(e)) {
return true;
} else {
return false;
}
android中实现一张图片在屏幕中随机的移动的方法为:
1、用随机库Random实例化对象random随机生成速度speed,然后用图片的x,y坐标进行x+=speed及y+=speed,speed可以在指定数的范围内生成。
2、每次随机x、y坐标的变化量即可。
android产生随机数的方法:此方法通过把当前时刻长整型数传给Random对象,让它产生的值随着时间而变化。
[java] view plaincopy
Strings = "";
Random ran =new Random(System.currentTimeMillis());
for (inti = 0; i 10; i++) {
s =s + "\n" + ran.nextInt(100);
}
Toast.makeText(UiTestActivity.this,"Random: \n" + s, Toast.LENGTH_LONG).show();
现在除了苹果之外,几乎所有的手机品牌都是附送原装保护壳,就连三星也不例外。但是厂商附送的手机壳都十分简单,大多都是透明的塑料壳,很多网友都不会用。那么厂商为什么要多此一举送一个手机壳呢?个人觉得厂商这么做主要有三个原因:
1、保护脆弱的玻璃机身
目前主流的智能手机中有90%的机型使用玻璃后盖,虽然这种后盖美观精致、手感好,但缺点就是容易碎。即使康宁大猩猩玻璃,从1.5米的高度摔下来,也很难保证后盖不会碎裂。而且玻璃非常光滑,放在稍微有一点倾斜的桌面上,就有可能慢慢滑落摔在地上,令人防不胜防。
因此如果网友刚买了一款新手机,还没用几天,手机就摔在地上,裂了、碎了,肯定是非常影响心情的。所以手机厂商就非常贴心的在包装里附送了原厂保护壳,让用户一开箱就能妥善的保护好新手机。
而且很多手机上市之后,第三方配套的手机壳还没有来得及生产出来,用户在短时间内很难买到称心如意的手机壳,那么这个时候附送的原厂手机壳就可以作为过渡,在用户挑到喜欢的手机壳之前,可以用原装手机壳来保护手机。
2、降低返修率
现在智能手机的利润很低,厂商自然不希望手机卖出去之后,出了问题又拿回来修。虽然屏幕机身摔坏了是属于人为导致,理论上是不用提供免费售后的。但是现在很多用户在买手机之后还会买碎屏险,有的手机在促销的时候还会送碎屏险。如果买了碎屏险的手机返修率太高的话,厂商就有可能亏本。而送一个手机壳给用户,就可以有效的减少人为导致的故障,对于厂商来说也能够降低售后成本。
3、手机壳的成本很低
现在厂商送的手机壳基本上都是那种透明的塑料壳,在网上这种透明手机壳的批发价格才一两块钱。而厂商一次就生产几十万个手机壳,算下来成本会更低。一个成本不到一块钱的手机壳,却可以让用户感到满意,聪明的厂商都会选择送用户一个手机壳。甚至不少手机出厂就连保护膜都贴上了。
4、降低促销成本
国内手机厂商中,首先开始随机附送手机壳的是OPPO和vivo,因为这两家的手机都是在线下卖的,过去实体店为了吸引客户,都会送手机壳,或者免费贴膜,这些赠品都是需要成本的。而如果手机包装里本身就自带手机壳,而且贴好了膜,那么就不需要再附送这些赠品了,这样一来就降低了促销成本。随着华为、小米开始在线下开实体店卖手机,它们也都开始随机送手机壳了。
总的来说,随机附送的手机壳成本不高,但是可以让消费者感到满意,同时又可以减少返修率,可以说是一举多得,所以现在的智能手机就都附送手机壳了。
一、可以让手机后壳与摄像头的平面高度一致。
大家现在都喜欢用手机去进行拍摄,而手机的拍摄功能现在也变得越来越强,从早期的 单个广角摄像头 变成现在非常流行的 三摄(广角、超广角、超长焦) 。
很多智能手机厂商为了让手机的拍摄功能变得更加强悍,把三颗摄像头的组件模块进行了厚度增加。我们可以看到 2020 年很多采用 矩阵设计 的手机 摄像头组件部位 ,与 手机后壳 都不在同一个 平面高度 。
当手机 摄像头组件 与 手机后壳 平面不在同一高度时,我们如果把手机的背面直接放在不干净或凹凸不平的桌面,会导致 摄像头组件 最外面一层的 玻璃盖片 出现破损和刮花,想要防止这种情况的发生需要使用厂家附赠的保护套,它能够让 摄像头组件 和手机 后壳 保持同一高度 。
二、能够使手机NFC交互的灵敏性不会降低。
我每天出行一般会用到 公交IC卡 ,手机厂家为了让大家出行更方便,其中高端的智能手机都配有 NFC 功能,通过NFC功能可以直接让手机为自己的公交IC卡进行充值。
这个功能确实使用很方便,但是有些用户在手机上嵌套 非手机厂商附赠的保护套 之后,会发现手机的NFC功能并不能让公交IC卡进行正常充值,这主要是由于第三方的保护套在 材质 和 厚度 上能够隔绝NFC与公交IC卡之间的 磁感应 。
手机保护套如何才能不影响NFC功能的磁感应强度 ?首先在材质上最好不要使用 金属 材质,因为金属材质的保护套能够 消磁 (或吸收磁性),会让手机开启的NFC磁感应能力变弱。至于手机保护套的厚度,我这里也没有收集到实际标准的数据,因为手机NFC 磁感应能力的强弱 也会间接决定手机保护套的 材料厚度极限值 。
而很多安卓手机厂商附赠的手机保护套,大部分都采用 塑料 材质,保护套的厚度也比较薄,几乎在嵌套手机之后与摄像头模块平齐,这极大保证NFC功能能被正常使用,且不降低其磁感应的灵敏性。
结语:
安卓手机厂商们之所以给新手机附赠保护套,主要还是为了让用户的手机外观能够被保护。在整体保护手机外观的同时,手机厂家定制的保护套也不会影响手机其它功能的正常使用。
而且,这个附赠的手机保护套也让很多用户感觉比较实惠,自己再也不用另外掏钱到手机配件市场购买可适配的手机壳。
因为现在很多安卓机都是玻璃后盖,都是易碎品,一旦摔碎了换一块价格不便宜,还一个问题就是摄像头都很突出,不戴保护套就会跟跷跷板那样,摆在桌上也不平稳带上保护套既平稳又保护了后盖所以很多厂商都附赠手机保护套。希望我的简单回答能为你解疑答惑
使用自定义的view可以使用,随机生成代码:
package com.nobeg.util;
import java.util.Random;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Bitmap.Config;
public class Code {
private static final char[] CHARS = {
'2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'l', 'm',
'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
};
private static Code bmpCode;
public static Code getInstance() {
if(bmpCode == null)
bmpCode = new Code();
return bmpCode;
}
//default settings
private static final int DEFAULT_CODE_LENGTH = 3;
private static final int DEFAULT_FONT_SIZE = 25;
private static final int DEFAULT_LINE_NUMBER = 2;
private static final int BASE_PADDING_LEFT = 5, RANGE_PADDING_LEFT = 15, BASE_PADDING_TOP = 15, RANGE_PADDING_TOP = 20;
private static final int DEFAULT_WIDTH = 60, DEFAULT_HEIGHT = 40;
//settings decided by the layout xml
//canvas width and height
private int width = DEFAULT_WIDTH, height = DEFAULT_HEIGHT;
//random word space and pading_top
private int base_padding_left = BASE_PADDING_LEFT, range_padding_left = RANGE_PADDING_LEFT,
base_padding_top = BASE_PADDING_TOP, range_padding_top = RANGE_PADDING_TOP;
//number of chars, lines; font size
private int codeLength = DEFAULT_CODE_LENGTH, line_number = DEFAULT_LINE_NUMBER, font_size = DEFAULT_FONT_SIZE;
//variables
private String code;
private int padding_left, padding_top;
private Random random = new Random();
//验证码图片
public Bitmap createBitmap() {
padding_left = 0;
Bitmap bp = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas c = new Canvas(bp);
code = createCode();
c.drawColor(Color.WHITE);
Paint paint = new Paint();
paint.setTextSize(font_size);
for (int i = 0; i code.length(); i++) {
randomTextStyle(paint);
randomPadding();
c.drawText(code.charAt(i) + "", padding_left, padding_top, paint);
}
for (int i = 0; i line_number; i++) {
drawLine(c, paint);
}
c.save( Canvas.ALL_SAVE_FLAG );//保存
c.restore();//
return bp;
}
public String getCode() {
return code;
}
//验证码
private String createCode() {
StringBuilder buffer = new StringBuilder();
for (int i = 0; i codeLength; i++) {
buffer.append(CHARS[random.nextInt(CHARS.length)]);
}
return buffer.toString();
}
private void drawLine(Canvas canvas, Paint paint) {
int color = randomColor();
int startX = random.nextInt(width);
int startY = random.nextInt(height);
int stopX = random.nextInt(width);
int stopY = random.nextInt(height);
paint.setStrokeWidth(1);
paint.setColor(color);
canvas.drawLine(startX, startY, stopX, stopY, paint);
}
private int randomColor() {
return randomColor(1);
}
private int randomColor(int rate) {
int red = random.nextInt(256) / rate;
int green = random.nextInt(256) / rate;
int blue = random.nextInt(256) / rate;
return Color.rgb(red, green, blue);
}
private void randomTextStyle(Paint paint) {
int color = randomColor();
paint.setColor(color);
paint.setFakeBoldText(random.nextBoolean()); //true为粗体,false为非粗体
float skewX = random.nextInt(11) / 10;
skewX = random.nextBoolean() ? skewX : -skewX;
paint.setTextSkewX(skewX); //float类型参数,负数表示右斜,整数左斜
// paint.setUnderlineText(true); //true为下划线,false为非下划线
// paint.setStrikeThruText(true); //true为删除线,false为非删除线
}
private void randomPadding() {
padding_left += base_padding_left + random.nextInt(range_padding_left);
padding_top = base_padding_top + random.nextInt(range_padding_top);
}
}
把那些textview放到一个数组里 然后生成一个随机数 得到随机数 从textview数组中取出 得到的 textview 然后得到 那个textview的值显示在下边