以下是小编帮大家整理的android使用Font Awesome字体图标,本文共7篇,供大家参考借鉴,希望可以帮助到您。本文原稿由网友“温油野兽”提供。
篇1:android使用Font Awesome字体图标
可以使用CSS所提供的所有特性对它们进行更改,包括:大小、颜色、阴影或者其它任何支持的效果,仅一个Font Awesome字库,就包含了与网页相关的所有形象图标。无论在任何尺寸下,可缩放的矢量图形都会为您呈现出完美的图标。Font Awesome的矢量图标,将使您的网站在视网膜级的高分屏上大放异彩。
那么,真强大的一个网页字体图标库可不可以用在安卓上呢,答案是可以的。
首先我们从文章前面的网址里下载最新的库,解压后再fonts目录下找到fontawesome-webfont.ttf,将其拷至我们的项目目录assets目录下,然后从github上下载一个字符串资源放到res目录下的values目录,
开始编码前看效果图
从效果图看出,我们没有用一张图片,就达到了这个效果,这一切都是依赖于字体,首先,创建自定义字体
Typeface font = Typeface.createFromAsset(getAssets, fontawesome-webfont.ttf);
然后是布局,简单布局了下
然后为每个TextView设置字体
private void initView() { Typeface font = Typeface.createFromAsset(getAssets(), fontawesome-webfont.ttf); tab1 = (TextView) findViewById(R.id.tab1); tab2 = (TextView) findViewById(R.id.tab2); tab3 = (TextView) findViewById(R.id.tab3); tab1.setTypeface(font); tab2.setTypeface(font); tab3.setTypeface(font); }
如果你想改变图标大小和颜色,只要修改字体的大小和颜色即可,也就是说只要修改TextView的textSize和textColor,
更多使用效果待你去发现。
篇2:android 使用LinearGradient进行字体渐变的效果
LinearGradient也称作线性渲染,LinearGradient的作用是实现某一区域内颜色的线性渐变效果
它有两个构造函数
public LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1, Shader.TileMode tile)
其中,参数x0表示渐变的起始点x坐标;参数y0表示渐变的起始点y坐标;参数x1表示渐变的终点x坐标;参数y1表示渐变的终点y坐标 ;color0表示渐变开始颜色;color1表示渐变结束颜色;参数tile表示平铺方式,
Shader.TileMode有3种参数可供选择,分别为CLAMP、REPEAT和MIRROR:
CLAMP的作用是如果渲染器超出原始边界范围,则会复制边缘颜色对超出范围的区域进行着色
REPEAT的作用是在横向和纵向上以平铺的形式重复渲染位图
MIRROR的作用是在横向和纵向上以镜像的方式重复渲染位图
public LinearGradient (float x0, float y0, float x1, float y1, int[] colors, float[] positions, Shader.TileMode tile);
其中,参数x0表示渐变的起始点x坐标;参数y0表示渐变的起始点y坐标;参数x1表示渐变的终点x坐标;参数y1表示渐变的终点y坐标;参数colors表示渐变的颜色数组;参数positions用来指定颜色数组的相对位置;参数tile表示平铺方式。通常,参数positions设为null,表示颜色数组以斜坡线的形式均匀分布。
下面这段代码是直接从git上面的项目拷贝下来的
复制代码
package com.example.shimmer;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Shader;
import android.util.AttributeSet;
import android.widget.TextView;
public class MyTextView extends TextView {
private LinearGradient mLinearGradient;
private Matrix mGradientMatrix;
private Paint mPaint;
private int mViewWidth = 0;
private int mTranslate = 0;
private boolean mAnimating = true;
public MyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
if (mViewWidth == 0) {
mViewWidth = getMeasuredWidth();
if (mViewWidth >0) {
mPaint = getPaint();
mLinearGradient = new LinearGradient(-mViewWidth, 0, 0, 0,
new int[] { 0x33ffffff, 0xffffffff, 0x33ffffff },
new float[] { 0, 0.5f, 1 }, Shader.TileMode.CLAMP);
mPaint.setShader(mLinearGradient);
mGradientMatrix = new Matrix();
}
}
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (mAnimating && mGradientMatrix != null) {
mTranslate += mViewWidth / 10;
if (mTranslate >2 * mViewWidth) {
mTranslate = -mViewWidth;
}
mGradientMatrix.setTranslate(mTranslate, 0);
mLinearGradient.setLocalMatrix(mGradientMatrix);
postInvalidateDelayed(50);
}
}
}
复制代码
这段代码主要是分两步:一个是在onSizeChanged()即大小发生改变的时候,另外一个是onDraw()主要是用来做动画的效果的,
首先我们先来onSizeChanged()里面的代码,在这段代码中主要是定义了LinearGradient:
mLinearGradient = new LinearGradient(-mViewWidth, 0, 0, 0, new int[] { 0x33ffffff, 0xffffffff, 0x33ffffff },new float[] { 0, 0.5f, 1 }, Shader.TileMode.CLAMP);
这段代码可以这么理解,它定义了一组渐变的数值是{ 0x33ffffff, 0xffffffff, 0x33ffffff },这组数值分别在相对应的0,0.5,1中显示,0位置对应0x33ffffff颜色,0.5位置对应0xffffffff,1位置对应0x33ffffff,这个渐变的初始位置是在手机屏幕的外面x=(-mViewWidth,0)就是屏幕外面
最后来看一下这个onDraw()方法里面是如何做动画的
mTranslate += mViewWidth / 10;很简单表示每一次运动的递增值
if (mTranslate >2 * mViewWidth) {
mTranslate = -mViewWidth;
}
篇3:android sqlite 使用
Android操作系统使用SQLite数据库,使用有两种方法获得数据库对象:
1.获取已经存在的数据库
?
1
SQLiteDatabase dbbrndi=SQLiteDatabase.openDatabase(“/sdcard/zhycheng.db3”, null,SQLiteDatabase.OPEN_READONLY);
第一个String参数是数据库在文件系统中的位置,第二个参数一般为null,第三个参数控制数据库打开的方式,
这样就获得了数据库对象。
2.自己创建数据库
新建一个类,继承SQLiteOpenHelper,添加未实现的方法
代码如下
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package your.zhycheng;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MyHelper extends SQLiteOpenHelper{
public MyHelper(Context context, String name)
{
this(context,name,1);
}
public MyHelper(Context context, String name,int version)
{
this(context,name,null,version);
}
public MyHelper(Context context, String name,//数据库的名字
CursorFactory factory,
int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(“create table user(id int,name text)”);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
获得的数据库位于/data/data/yourpackage/databases/zhycheng.db3
然后通过生成一个MyHelper类的对象,调用
?
1
2
3
MyHelper mh=new MyHelper(this,“zhycheng”);
SQLiteDatabase db=mh.getReadableDatabase;
SQLiteDatabase db=mh.getWritableDatabase();
分别获得只读和可写的数据库,
获得数据库之后就可以进行数据库操作有以下两种方式操作数据库
1.执行SQL语句
?
1
2
3
db.rawQuery(sql,Args)
db.execSQL(sql, Args)
db.execSQL(sql)
上面的sql是String类型的数据库语言,Args是String数组。前面String中若有“?”则对应后面的值。
篇4:Android 字体设置Typeface讲解
常用的字体类型名称还有:
Typeface.DEFAULT //常规字体类型
Typeface.DEFAULT_BOLD //黑体字体类型
Typeface.MONOSPACE //等宽字体类型
Typeface.SANS_SERIF //sans serif字体类型
常用的字体风格名称还有:
Typeface.BOLD //粗体
Typeface.BOLD_ITALIC //粗斜体
Typeface.ITALIC //斜体
Typeface.NORMAL //常规
1.在xml中设置,
使用android:typeFace来设置:
Android:typeface=”sans”
2.在Java程序中:
eg1:
Typeface font = Typeface.create(Typeface.SANS_SERIF, Typeface.BOLD);
p.setTypeface( font );
eg2:
String familyName = “宋体”;
Typeface font = Typeface.create(familyName,Typeface.BOLD);
p.setTypeface(font);
篇5:Android 字体设置Typeface讲解
1.首先吧要使用的字体文件拷贝到assets下的fonts目录下,
2.代码如下:
private void mySetTypeFace { // TODO Auto-generated method stub //从assert中获取有资源,获得app的assert,采用getAserts(),通过给出在assert/下面的相对路径。在实际使用中,字体库可能存在于SD卡上,可以采用createFromFile()来替代createFromAsset。 Typeface face = Typeface.createFromAsset(getAssets(), “fonts/HanYi.ttf”); //title是之间定义的控件 title.setTypeface(face); }
篇6:Android中AsyncTask使用
一、AsyncTask的作用:
代替Thread+Handler的组合,使创建异步任务变得简单,
AsyncTask执行后台操作,并在用户界面上发布结果,而不必处理线程。
二、AsyncTask的定义:
public abstract class AsyncTask
extends Object
AsyncTask必须子类可以使用。子类将覆盖至少一个方法(doInBackground执行异步任务),通常会覆盖一次(onPostExecute显示结果,更新UI)
AsyncTask三种类型如下:
》Params,参数的类型发送到任务执行时。
》Progress,在后台计算过程中公布的进度单元类型。
》Result,计算结果的类型。
不是所有类型都是异步任务所使用的。要标记为未使用的类型,设置该类型Void:
三、AsyncTask的方法:
1、onPreExecute()
在任务开始后立即调用,在UI线程执行。这一步通常用于设置任务,例如在用户界面中初始化进度条。
2、doInBackground(Params...)
后台线程调用onPreExecute()完成后立即执行。这一步后台进程执行,可能会花费很长时间。
3、onProgressUpdate(Progress...)
调用publishProgress,在UI线程上执行,
这种方法是用来显示用户进度界面,后台进程仍在执行。例如,它可用于显示一个进度条或在文本中显示日志。
4、onPostExecute(Result)
后台进程处理完后,在UI线程上执行。后台进程的结果被传递到这一步作为参数。
常用的写法如下:
class MyTask extends AsyncTask new MyTask().execute();//执行任务 三、AsyncTask的规则: 1、任务实例必须在用户界面线程中创建。 2、execute(Params... params)方法必须在UI线程中调用。 3、不要手动调用onPreExecute,doInBackground,onProgressUpdate,onPostExecute这些方法 4、一个任务实例只能执行一次,如果执行第二次将会抛出异常 今天使用到shape,这个里面有很多属性,在这里我记录一下各个属性的使用的情况以及所代表的意思 复制代码 xmlns:android=“schemas.android.com/apk/res/android” android:shape=[“rectangle” | “oval” | “line” | “ring”] > android:radius=“integer” android:topLeftRadius=“integer” android:topRightRadius=“integer” android:bottomLeftRadius=“integer” android:bottomRightRadius=“integer” /> android:angle=“integer” android:centerX=“integer” android:centerY=“integer” android:centerColor=“integer” android:endColor=“color” android:gradientRadius=“integer” android:startColor=“color” android:type=[“linear” | “radial” | “sweep”] android:useLevel=[“true” | “false”] /> android:left=“integer” android:top=“integer” android:right=“integer” android:bottom=“integer” /> android:width=“integer” android:height=“integer” /> android:color=“color” /> android:width=“integer” android:color=“color” android:dashWidth=“integer” android:dashGap=“integer” /> 复制代码 上面这段就是shape使用的格式,来看一下如何使用: 定义这是一个GradientDrawable,必须作为根元素, android:shape 定义shape的值,必须是下面的之一: “rectangle” 矩阵,这也是默认的shape “oval” 椭圆 “line” 一条水平的直线。这种shape必须使用 “ring” 圆环 下面的属性只有当 android:shape=“ring”才使用: android:innerRadius 尺寸。 内环的半径。一个尺寸值(dip等等)或者一个尺寸资源。 android:innerRadiusRatio Float类型。这个值表示内部环的比例,例如,如果android:innerRadiusRatio = “ 5 ”,那么内部的半径等于环的宽度除以5。这个值会被android:innerRadius重写。 默认值是9。 android:thickness 尺寸。环的厚度,是一个尺寸值或尺寸的资源。 android:thicknessRatio Float类型。厚度的比例。例如,如果android:thicknessRatio= “ 2 ”,然后厚度等于环的宽度除以2。这个值是被android:innerRadius重写, 默认值是3。 android:useLevel Boolean类型。如果用在 LevelListDrawable里,那么就是true。如果通常不出现则为false。 为Shape创建一个圆角,只有shape是rectangle时候才使用。 android:radius Dimension。圆角的半径。会被下面每个特定的圆角属性重写。 android:topLeftRadius Dimension。top-left 设置左上角的半径 android:topRightRadius Dimension。top-right 设置右上角的半径 android:bottomLeftRadius Dimension。 设置右下角的半径 android:bottomRightRadius Dimension。设置左下角的半径 指定这个shape的渐变颜色。 android:angle Integer。渐变的角度。 0 代表从 left 到 right。90 代表bottom到 top。必须是45的倍数,默认为0 android:centerX Float。渐变中心的相对X坐标,在0到1.0之间。 android:centerY Float。渐变中心的相对Y坐标,在0到1.0之间。 android:centerColor Color。可选的颜色值。基于startColor和endColor之间。 android:endColor Color。 结束的颜色。 android:gradientRadius Float 。渐变的半径。只有在 android:type=“radial”才使用 android:startColor Color。开始的颜色值。 android:type Keyword。渐变的模式,下面值之一: “linear” 线形渐变, 这也是默认的模式 “radial” 辐射渐变。startColor即辐射中心的颜色 “sweep” 扫描线渐变。 android:useLevel Boolean。如果在LevelListDrawable中使用,则为true 内容与视图边界的距离 android:left Dimension。左边填充距离. android:top Dimension。顶部填充距离. android:right Dimension。右边填充距离. android:bottom Dimension。底部填充距离. 这个shape的大小。 android:height Dimension。这个shape的高度。 android:width Dimension。这个shape的宽度。 注意:默认情况下,这个shape会缩放到与他所在容器大小成正比。当你在一个ImageView中使用这个shape,你可以使用 android:scaleType=“center”来限制这种缩放。 填充这个shape的纯色 android:color Color。颜色值,十六进制数,或者一个Color资源 这个shape使用的笔画,当android:shape=“line”的时候,必须设置改元素。 android:width Dimension。笔画的粗细。 android:color Color。笔画的颜色 android:dashGap Dimension。每画一条线就间隔多少。只有当android:dashWidth也设置了才有效。 android:dashWidth Dimension。每画一条线的长度。只有当 android:dashGap也设置了才有效。 android:dashGap和android:dashWidth设置这条线为虚线的,其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离, 使用别人的一段代码: button_bg.xml 复制代码 android:width=“2dp” android:color=“#fad3cf” /> android:bottomLeftRadius=“5dp” android:bottomRightRadius=“5dp” android:topLeftRadius=“5dp” android:topRightRadius=“5dp” /> android:bottom=“10dp” android:left=“10dp” android:right=“10dp” android:top=“10dp” /> 复制代码 button_pressed_bg.xml的内容如下: 复制代码 android:endColor=“#FFFFFF” android:gradientRadius=“50” android:startColor=“#ff8c00” android:type=“radial” /> android:dashGap=“3dp” android:dashWidth=“5dp” android:width=“2dp” android:color=“#dcdcdc” /> android:bottom=“10dp” android:left=“10dp” android:right=“10dp” android:top=“10dp” /> 复制代码 如何使用,看下面的代码: 复制代码 复制代码篇7:android shape使用总结
- Android入门篇-基础知识2023-01-07
- Android 面试题经典(上)2022-12-11
- 如何打包字体为swf文件,然后在Flex中使用网页设计2022-12-11
- 商业计划书的字体格式2025-03-24
- 合同字体格式要求2025-05-26
- 英雄杀图标怎么点亮2023-09-23
- “我的电脑”图标不见了怎么办?2022-12-11
- Android中对日期进行排序2022-12-27
- 转正申请书字体字号格式2022-12-17
- 述职报告字体格式要求2022-12-17