android中总是要给控件指定一个id,然后还要在代码中写一个控件名称,两者要对应起来,这个工作本身就是体力劳动。这里我自己写了一个小的代码生成工具类,将anroid的xml布局文件生成为java文件,通过控制台输出。同时支持findViewById模式的,和xutils模式的。xml的解析使用到了pull解析器。demo中已包含jar文件了。举个例子:
假设有这样一个布局文件名字叫做empty.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ProgressBar android:id="@+id/loading_pb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Small.Inverse"/>
<TextView android:id="@+id/tv_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/loading_pb"
android:text="加载中..."/>
</LinearLayout>
通过我的工具类XMLGen.java,直接输出依据id生成的控件名称。从控制台copy一下到代码中就行了。
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
/**
* 传入一个xml字符串,转换成
*/
public class XMLGen {
private static String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
+