本人刚工作3个月,本来是搞Java的,无端端的被叫去搞安卓开发,而且直接去搞项目,内心万马奔腾,却又无可耐何。
此文记载开发中遇到的一个问题,开发的任务是动态生成一个界面,用于提交表单,表单的数据从WebService中拿,这就要用到代码来添加控件了,这有很多个表单而且每个表单字段又不一样,但我做出来了(虽然只是一个安卓菜鸟)。
但是我做出来的界面是这样的
这默认的是真丑。。。
后来百度找了很久,都不成功。今天翻墙google了一下,找到了一个类似的问题,看了看解决方案,一试就改成了这样
哈哈,这就是我想要的结果,附问题原文android set style in code
主要是我之前不知道可以用
EditText editText = (EditText) getLayoutInflater().inflate(
R.layout.test_template, null);
这种方式来创建Widget。
现在终于解决了,很开心,特此记录一下,写的不好勿介意。
附这个选择框的样式
test_template.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/index_edit_style"
android:layout_marginLeft="@dimen/gap_20"
android:inputType="text"
android:paddingLeft="@dimen/gap_10" >
</EditText>
<style name="index_edit_style" parent="base_text_style_comm">
<item name="android:gravity">center_vertical</item>
<item name="android:singleLine">false</item>
<item name="android:background">@drawable/gather_mode_edittext_selector</item>
<item name="android:layout_width">250dip</item>
<item name="android:layout_height">35dip</item>
<item name="android:textColor">#000</item>
<item name="android:textStyle">normal</item>
</style>
<style name="base_text_style_comm">
<item name="android:typeface">sans</item>
<item name="android:textStyle">normal</item>
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/black</item>
<item name="android:gravity">center</item>
</style>
selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true">
<shape>
<solid android:color="@color/white" />
<stroke android:width="1dip"
android:color="#A4EAC5" />
<corners android:radius="4dp" />
</shape>
</item>
<item android:state_focused="false">
<shape>
<!-- <solid android:color="#E6E6FA" /> -->
<solid android:color="@color/white" />
<stroke android:width="1dip"
android:color="#04BA63" />
<corners android:radius="4dp" />
</shape>
</item>
</selector>