2012.12.23 继续来学习计步器(忘记了,一直在草稿箱没发)
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"//线性布局,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消、
android:orientation="vertical"//垂直布局,水平布局是horizontal
android:layout_width="fill_parent"//强制性地使构件扩展,以填充布局单元内尽可能多的空间、设置一个顶部布局或控件将强制性让它布满整个屏幕
android:layout_height="fill_parent"
android:padding="@dimen/margin" //边距设置,在values/dimen文件夹
android:background="@color/screen_background">//颜色设置
<LinearLayout android:id="@+id/row_1"//设置索引号,在R.java中自动生成分配地址空间
android:baselineAligned="false"// 英文中基准线对齐 http://www.android100.org/html/201509/23/183912.html
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" //强制性地使视图扩展以显示全部内容、完整显示其内部的文本和图像,布局元素将根据内容更改大小,http://blog.163.com/xhyzdai@126/blog/static/73253311201302310452516/
android:paddingBottom="@dimen/row_spacing">
<LinearLayout android:id="@+id/box_steps"
android:orientation="vertical"
android:layout_width="fill_parent" <string name="kilometers">kilometers</string>
android:layout_height="wrap_content"
android:gravity="center_horizontal"// 控件里的元素来说的,用来控制元素在该控件里的显示位置 http://blog.csdn.net/shakespeare001/article/details/7843460
android:paddingRight="@dimen/margin"
android:layout_weight="1">//布局比重 需要注意http://blog.csdn.net/yanzi1225627/article/details/24667299
<TextView android:id="@+id/step_value"
android:textSize="@dimen/value"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:background="@color/display_background"
android:paddingLeft="@dimen/padding"
android:paddingRight="@dimen/padding"
android:paddingTop="@dimen/padding"
android:text=""/>
<TextView android:id="@+id/step_units"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/units"
android:text="@string/steps"
android:background="@color/display_background"
android:paddingBottom="@dimen/padding"/>
</LinearLayout>
<LinearLayout android:id="@+id/box_distance"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="1">
<TextView android:id="@+id/distance_value"
android:textSize="@dimen/value"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:background="@color/display_background"
android:paddingTop="@dimen/padding"
android:paddingRight="@dimen/padding"
android:paddingLeft="@dimen/padding"
android:text=""/>
<TextView android:id="@+id/distance_units"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/units"
android:text="@string/kilometers"
android:background="@color/display_background"
android:paddingBottom="@dimen/padding"/>
</LinearLayout>
</LinearLayout>
<LinearLayout android:id="@+id/row_2"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/row_spacing">
<LinearLayout android:id="@+id/box_pace"
android:orientation="vertical"
android:layout_height="wrap_content"
android:paddingRight="@dimen/margin"
android:layout_width="fill_parent"
android:layout_weight="1">
<TextView android:id="@+id/pace_value"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/display_background"
android:textSize="@dimen/small_value"
android:paddingLeft="@dimen/padding"
android:paddingRight="@dimen/padding"
android:paddingTop="@dimen/padding"
android:text=""/>
<TextView android:id="@+id/pace_units"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/units"
android:text="@string/steps_per_minute"
android:paddingBottom="@dimen/padding"
android:background="@color/display_background"/>
</LinearLayout>
<LinearLayout android:id="@+id/box_speed"
android:orientation="vertical"
android:paddingRight="@dimen/margin"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_weight="1">
<TextView android:id="@+id/speed_value"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/display_background"
android:textSize="@dimen/small_value"
android:paddingLeft="@dimen/padding"
android:paddingRight="@dimen/padding"
android:paddingTop="@dimen/padding"
android:text=""/>
<TextView android:id="@+id/speed_units"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/units"
android:text="@string/kilometers_per_hour"
android:paddingBottom="@dimen/padding"
android:background="@color/display_background"/>
</LinearLayout>
<LinearLayout android:id="@+id/box_calories"
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_weight="1">
<TextView android:id="@+id/calories_value"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/display_background"
android:textSize="@dimen/small_value"
android:paddingLeft="@dimen/padding"
android:paddingRight="@dimen/padding"
android:paddingTop="@dimen/padding"
android:text=""/>
<TextView android:id="@+id/calories_units"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/units"
android:text="@string/calories_burned"
android:paddingBottom="@dimen/padding"
android:background="@color/display_background"/>
</LinearLayout>
</LinearLayout>
<!-- Desired pace/speed row -->
<LinearLayout
android:id="@+id/desired_pace_control"
android:paddingTop="@dimen/row_spacing"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<!-- Button "-", for decrementing desired pace/speed -->
<Button android:id="@+id/button_desired_pace_lower"
android:text="-"
android:textSize="@dimen/button_sign"
android:layout_width="@dimen/button"
android:layout_height="@dimen/button"/>
<!-- Container for desired pace/speed -->
<LinearLayout
android:gravity="center_horizontal"
android:orientation="vertical"
android:layout_width="@dimen/desired_pace_width"
android:layout_height="wrap_content">
<TextView android:id="@+id/desired_pace_label"
android:gravity="center_horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/desired_pace"/>
<!-- Current desired pace/speed -->
<TextView android:id="@+id/desired_pace_value"
android:gravity="center_horizontal"
android:textSize="@dimen/desired_pace"
android:layout_width="@dimen/desired_pace_width"
android:layout_height="wrap_content"/>
</LinearLayout>
<!-- Button "+", for incrementing desired pace/speed -->
<Button android:id="@+id/button_desired_pace_raise"
android:text="+"
android:textSize="@dimen/button_sign"
android:layout_width="@dimen/button"
android:layout_height="@dimen/button"/>
</LinearLayout>
</LinearLayout>
vlaues/dimens
共定义三种,一种在vlaues/dimens,另两个均在res下单独建立文件夹,命名dimens-small和dimens-large 在不同分辨率下,另两个替换vlaues目录下的dimens.xml http://www.cnblogs.com/tinyphp/p/4008400.html
<resources>
<dimen name="large_half">160px</dimen><dimen name="value">38sp</dimen>
<dimen name="small_value">24sp</dimen>
<dimen name="step_count">20sp</dimen>
<dimen name="units">10sp</dimen>
<dimen name="desired_pace">24sp</dimen>
<dimen name="desired_pace_width">100sp</dimen>
<dimen name="button">52sp</dimen>
<dimen name="button_sign">26sp</dimen>
<dimen name="margin">10px</dimen>
<dimen name="padding">5px</dimen>
<dimen name="row_spacing">10px</dimen>
<dimen name="row_height">130px</dimen>
<dimen name="box_width">150px</dimen>
<dimen name="third_box_width">103px</dimen>
<dimen name="third_box_width_middle">104px</dimen>
</resources>