0%

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布局。