过完年了,好好努力吧,2013,走起!


之前探究过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 voidaddState(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> 
b代码加粗,i代表倾斜。但是不能将中文设置成粗体。


将中文设置成粗体的方法是:

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();//得到AssetManagerTypeface tf=Typeface.createFromAsset(mgr, "fonts/ttf.ttf");//根据路径得到Typefacetv.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设置文本框内文本与图像之间的间距。



更多相关文章

  1. android中解析文件的三种方式
  2. Android如何获取多媒体文件信息
  3. [置顶] Android中对Log日志文件的分析
  4. android线性布局参数详解
  5. 分享自己在项目中对android文件系统的一些认识
  6. 无废话Android之android下junit测试框架配置、保存文件到手机内
  7. Android动态加载外部jar包及jar包中图片等资源文件
  8. 关于Android初级逻辑思考(续)——android文件夹讲解
  9. Android入门:使用Android自带媒体库读取MP3文件

随机推荐

  1. 理解Android安全机制
  2. android 3.0中加快启动模拟器
  3. Android(安卓)中自定义控件和属性(attr.x
  4. Android中使用webview和web页面的一些交
  5. Android(安卓)Studio中获取sha1证书的方
  6. Android应用程序中的四大组件
  7. LinearLayout
  8. Android~使用Service还是Thread
  9. android:clipToPadding的使用
  10. Android文件存取