1.定义style完成重复样式
把需要的格式都写在 一个样式文件里,这样只要引用一个style文件就可以了。
<style name="textStyle"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">0sp</item> <item name="android:layout_weight">1</item> <item name="android:gravity">center</item> <item name="android:layout_marginRight">1sp</item> <item name="android:textSize">15sp</item> <item name="android:targetClass">#11aaff</item> <item name="android:background">#cccccc</item>
</style>
这样引用起来简洁方便,在需要多次重复的格式时很实用!
<TextView style="@style/textStyle" android:text="@string/mon" />
2.自动按比例分割
在Tablerow标签中使用rowStyle, 高度上按比例分割完成
<item name="android:layout_width">match_parent</item> <item name="android:layout_height">0dp</item> <item name="android:layout_weight">1</item>
在宽度上,在style中这样设置
<item name="android:layout_height">match_parent</item> <item name="android:layout_width">0sp</item> <item name="android:layout_weight">1</item>
3.关于文本,按钮等显示不得当问题
文本显示时,按钮没有文字时,按钮使用属性minheight和minwidth为0,可使其大小随其他控件的大小而定/。
4.边框的实现
新建一个xml文件,使用SHAPE标签画边框的各种属性。再在style中background引用这种xml文件即可。
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:shape="rectangle"> <solid android:color="#cccccc"></solid> <corners android:radius="2dp"></corners> <stroke android:width="2dp" android:color="#11bbcc"></stroke> </shape>
5.按钮动作的两种方法(个数多和个数少时)
<1>个数少时使用事件监听即可
<2>个数多时,在<button>标签下使用android:onClick属性,然后再activity中去实现就可以了。
此处在style中设置即可,这样每个button都引用style,就都有这个属性了
<item name="android:onClick">myschedule</item>此处名字一定要与activity中一致
</style>
public void myschedule(final View view){ //此处使用匿名内部类时,变量et和view范围不够,使用final相当于扩大范围 AlertDialog.Builder ab =new AlertDialog.Builder(this); ab.setTitle("输入今日计划"); final EditText et=new EditText(this); ab.setView(et);//弹出对话框中增加TEXTVIEW ab.setPositiveButton("Done", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String schedule = et.getText().toString(); ((Button)view).setText(schedule);//获得按钮,并设置文字 } }); ab.create().show(); }
6数据持久化:数据存储
原文:http://www.cnblogs.com/missTS/p/5059590.html