Android开发中用Java写布局

今天在写程序自动升级组件,打算把它打包成JAR,这样在任何程序中直接导入就可以用。但在在测试时发现一个问题,没有导出时,在自身调用没有任何问题,但是导出到JAR再导入其他程序时,无法执行,甚至不提示任何错误。调试了好久才发现原来是无法调用打包在jar中的资源文件(就是R文件里索引的图片、文本、Layout等等),还好没有图片,文本可以直接在程序中写死,至于Layout布局也可以在Java中写。
写了个生成布局的类:


class UpdateLayout extends ScrollView {
	public UpdateLayout(Context context) {
	    super(context);
	    LinearLayout LL=new LinearLayout(context);
	    LL.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));//设置宽、高	  
	    TextView tv = new TextView(context);
	    tv.setId(0);//设置唯一的ID 相当于android:id
	    tv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));//同上
	    tv.setTextSize(20f);//字体大小
	    tv.setPadding(10, 0, 5,0);//设置文本左右间距,没找到setMargin,但是在这里用padding效果一样的
	    LL.addView(tv);
	    addView(LL);
	    setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
	}
}

效果类似于 Android:给对话框AlertDialog添加滚动条 中XML布局。

© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记