Android类库打包 (续)
来源:互联网 发布:淘宝宝贝图片尺寸 编辑:程序博客网 时间:2024/05/16 09:58
之前探究过Android类库的打包方法,当时是使用使用类库工程包含jar包的方法。详见 Android类库打包方法探究。
如果只是想要给出jar,并且里面也是要资源的话,就需要作如下内容了。
将资源放到assets目录下.
1.布局的话肯定是要动态布局了。也就是在程序中添加,而不是用布局文件(xml).
2.图片的话,需要从assets中读取了。代码如下:
- //读取asset目录下图片文件为Drawable
- public static Drawable getDrawableFromAssets(Context context,
- String imageFileName) {
- Drawable result = null;
- AssetManager assetManager = context.getAssets();
- InputStream is = null;
- try {
- is = assetManager.open(imageFileName);
- result = Drawable.createFromStream(is, null);
- is.close();
- is = null;
- } catch (IOException e) {
- e.printStackTrace();
- }
- return result;
- }
这样的话,打包类库工程时把assets目录下的所有内容包括上,就OK了。
补充(动态布局时需要注意的地方):
比如编辑框在得到焦点和失去焦点时,状态效果的变化,按钮的点击效果等,这些我们一般使用selector来处理。
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:color="#FF0000" android:state_focused="true" ></item>
- <item android:color="#00FF00" android:state_focused="false" ></item>
- </selector>
在动态布局时,这种情况需要使用 StateListDrawable 和ColorStateList。
StateListDrawable类功能说明:该类定义了不同状态值下与之对应的图片资源,即我们可以利用该类保存多种状态值,多种图片资源。
- Drawable normal_back_bg = getDrawableFromAssets(this, "bw_back_btn.png");
- Drawable select_back_bg = getDrawableFromAssets(this, "bw_back_btn_touch.png");
- StateListDrawable back_btn_bg = new StateListDrawable();
- back_btn_bg.addState(new int[] { android.R.attr.state_active },
- normal_back_bg);
- back_btn_bg.addState(new int[] { android.R.attr.state_pressed,
- android.R.attr.state_enabled }, select_back_bg);
- back_btn_bg.addState(new int[] { android.R.attr.state_focused,
- android.R.attr.state_enabled }, normal_back_bg);
- back_btn_bg.addState(new int[] { android.R.attr.state_enabled },
- normal_back_bg);
- back_btn.setBackgroundDrawable(back_btn_bg);
常用方法为:
public void addState (int[] stateSet, Drawable drawable)
功能: 给特定的状态集合设置drawable图片资源
TextView的一些细节知识:
1.字体加粗
在xml文件中使用android:textStyle=”bold” 可以将英文设置成粗体,或者直接在String文件中直接设置:
- <string name="styled_text">Plain, <b>bold</b>, <i>italic</i>, <b><i>bold-italic</i></b></string>
将中文设置成粗体的方法是:
- TextView tv = (TextView)findViewById(R.id.TextView01);
- TextPaint tp = tv.getPaint();
- tp.setFakeBoldText(true);
2.使用自定义字体
我们可以在程序中放入ttf字体文件,在程序中使用Typeface设置字体。
第一步,在assets目录下新建fonts目录,把ttf字体文件放到这。
第二步,程序中调用:
- TextView tv = (TextView)findViewById(R.id.textView);
- AssetManager mgr=getAssets();//得到AssetManager
- Typeface tf=Typeface.createFromAsset(mgr, "fonts/ttf.ttf");//根据路径得到Typeface
- tv.setTypeface(tf);//设置字体
3.设置阴影
在xml布局文件中使用一系列android:shadowXXX属性可添加设置阴影。具体为:shadowColor设置阴影颜色;shadowDx设置阴影水平偏移量;shadowDy设置阴影垂直偏移量;shadowRadius设置阴影半径。
- android:shadowColor="#ffffff"
- android:shadowDx="15.0"
- android:shadowDy="5.0"
- android:shadowRadius="2.5"
4.插入图片
使用xml布局文件中一系列android:drawableXXX属性来实现插入图片。具体为:drawableBottom是在文本框内文本的底端绘制指定图像;drawableLeft是在文本框内文本的左边绘制指定图像;drawableRight是在文本框内文本的右边绘制指定图像;drawableTop是在文本框内文本的顶端绘制指定图像;drawablePadding设置文本框内文本与图像之间的间距。
- Android类库打包 (续)
- Android类库打包 (续)
- Android类库打包方法探究
- Android类库打包方法探究
- Android类库打包方法探究
- Android 自定义类库打包jar
- Android类库打包方法探究
- Android类库打包方法探究
- Android 自定义类库打包jar!
- Android类库打包方法探究
- Android类库打包方法探究
- Android 自定义类库打包jar
- Android类库打包方法探究
- Android 自定义类库打包jar
- Android类库打包方法探究
- Android 类库打包、发布方法
- 深入解析Android类库打包方法
- 【android中级】之Android类库打包方法探究
- BeautifulSoup解析xml文件的使用初步
- linux
- 在MAC OS X 开发中,如何让程序有多线程?方法1
- 模板设计策略
- Eclipse各种小图标的含义
- Android类库打包 (续)
- poj2891 Strange Way to Express Integers
- String,StringBuffer与StringBuilder的区别
- 【最小生成树之prim算法】POJ 1789---Truck History
- poj 3669 bfs
- oracle-issue
- JS中 || 和 &&运算符
- Android类库打包方法探究
- 关键词权重TF-IDF