In the ChartSettingsDialog, update whether to display speed

or pace when calling onPrepareDialog.

Change the x_axis.png and y_axis.png to white foreground
so they show up on the black background.

Clean up chart_settings.xml
- no need to specify minWidth by placing the title
  inside a TableLayout
- align text to the bottom of the image
This commit is contained in:
Jimmy Shih
2011-12-21 15:23:51 -08:00
parent 828949efa4
commit 5557144728
6 changed files with 133 additions and 118 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

After

Width:  |  Height:  |  Size: 275 B

+76 -106
View File
@@ -17,120 +17,90 @@ limitations under the License.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:minWidth="300dp"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <TableLayout
android:background="@drawable/list_bar"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent"> android:layout_width="fill_parent"
<TextView android:shrinkColumns="0"
android:layout_height="wrap_content" android:stretchColumns="0">
android:layout_marginLeft="10dp" <TableRow>
android:layout_width="fill_parent" <TextView
android:text="@string/menu_chart_view_chart_settings" android:background="@drawable/list_bar"
android:textColor="#fff" android:layout_height="wrap_content"
android:textSize="20sp"/> android:layout_width="fill_parent"
</LinearLayout> android:paddingLeft="10dp"
android:text="@string/menu_chart_view_chart_settings"
android:textColor="@color/white"
android:textSize="20sp"/>
</TableRow>
</TableLayout>
<ScrollView <ScrollView
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="1" android:layout_weight="1"
android:layout_width="fill_parent"> android:layout_width="fill_parent">
<TableLayout <LinearLayout
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:stretchColumns="1"> android:orientation="vertical"
<TableRow> android:padding="10dp">
<LinearLayout
android:layout_height="wrap_content" <!-- X axis -->
android:layout_marginLeft="10dp" <LinearLayout style="@style/ChartSettingsAxisLayout">
android:layout_width="fill_parent" <ImageView
android:orientation="vertical"> android:src="@drawable/x_axis"
<LinearLayout style="@style/ChartSettingsAxisImage"/>
android:layout_height="wrap_content" <TextView
android:layout_width="fill_parent" android:text="@string/chart_settings_x_axis"
android:orientation="horizontal"> style="@style/ChartSettingsAxisText"/>
<ImageView </LinearLayout>
android:layout_height="wrap_content"
android:layout_width="wrap_content" <RadioGroup
android:src="@drawable/x_axis"/> android:id="@+id/chart_settings_x"
<TextView android:layout_height="wrap_content"
android:layout_height="wrap_content" android:layout_width="fill_parent">
android:layout_width="fill_parent" <RadioButton
android:text="@string/chart_settings_x_axis" android:id="@+id/chart_settings_by_distance"
android:textSize="20sp"/> android:text="@string/chart_settings_by_distance"
</LinearLayout> style="@style/ChartSettingsRadioButton"/>
<RadioGroup <RadioButton
android:id="@+id/chart_settings_x" android:id="@+id/chart_settings_by_time"
android:layout_height="wrap_content" android:text="@string/chart_settings_by_time"
android:layout_width="fill_parent"> style="@style/ChartSettingsRadioButton"/>
<RadioButton </RadioGroup>
android:id="@+id/chart_settings_by_distance"
android:layout_height="wrap_content" <!-- Y axis -->
android:layout_width="fill_parent" <LinearLayout
android:text="@string/chart_settings_by_distance"/> android:paddingTop="10dp"
<RadioButton style="@style/ChartSettingsAxisLayout">
android:id="@+id/chart_settings_by_time" <ImageView
android:layout_height="wrap_content" android:src="@drawable/y_axis"
android:layout_width="fill_parent" style="@style/ChartSettingsAxisImage"/>
android:text="@string/chart_settings_by_time"/> <TextView
</RadioGroup> android:text="@string/chart_settings_y_axis"
</LinearLayout> style="@style/ChartSettingsAxisText"/>
</TableRow> </LinearLayout>
<TableRow>
<LinearLayout <CheckBox
android:layout_height="wrap_content" android:id="@+id/chart_settings_elevation"
android:layout_marginLeft="10dp" android:text="@string/stat_elevation"
android:layout_width="fill_parent" style="@style/ChartSettingsCheckbox"/>
android:orientation="vertical"> <CheckBox
<LinearLayout android:id="@+id/chart_settings_speed"
android:layout_height="wrap_content" android:text="@string/stat_speed"
android:layout_width="fill_parent" style="@style/ChartSettingsCheckbox"/>
android:orientation="horizontal"> <CheckBox
<ImageView android:id="@+id/chart_settings_power"
android:layout_height="wrap_content" android:text="@string/sensor_state_power"
android:layout_width="wrap_content" style="@style/ChartSettingsCheckbox"/>
android:src="@drawable/y_axis"/> <CheckBox
<TextView android:id="@+id/chart_settings_cadence"
android:layout_height="wrap_content" android:text="@string/sensor_state_cadence"
android:layout_width="fill_parent" style="@style/ChartSettingsCheckbox"/>
android:text="@string/chart_settings_y_axis" <CheckBox
android:textSize="20sp" /> android:id="@+id/chart_settings_heart_rate"
</LinearLayout> android:text="@string/sensor_state_heart_rate"
<CheckBox style="@style/ChartSettingsCheckbox"/>
android:id="@+id/chart_settings_elevation" </LinearLayout>
android:checked="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/stat_elevation"/>
<CheckBox
android:id="@+id/chart_settings_speed"
android:checked="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/stat_speed"/>
<CheckBox
android:id="@+id/chart_settings_power"
android:checked="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/sensor_state_power"/>
<CheckBox
android:id="@+id/chart_settings_cadence"
android:checked="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/sensor_state_cadence"/>
<CheckBox
android:id="@+id/chart_settings_heart_rate"
android:checked="true"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/sensor_state_heart_rate"/>
</LinearLayout>
</TableRow>
</TableLayout>
</ScrollView> </ScrollView>
<LinearLayout style="@style/ButtonLayout"> <LinearLayout style="@style/ButtonLayout">
<LinearLayout style="@style/ButtonSpacer"/> <LinearLayout style="@style/ButtonSpacer"/>
+35
View File
@@ -71,6 +71,41 @@ limitations under the License.
<item name="android:visibility">gone</item> <item name="android:visibility">gone</item>
</style> </style>
<!-- Chart settings axis image -->
<style name="ChartSettingsAxisImage">
<item name="android:layout_height">fill_parent</item>
<item name="android:layout_width">wrap_content</item>
</style>
<!-- Chart settings axis layout -->
<style name="ChartSettingsAxisLayout">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:orientation">horizontal</item>
</style>
<!-- Chart settings axis text -->
<style name="ChartSettingsAxisText">
<item name="android:gravity">bottom</item>
<item name="android:layout_height">fill_parent</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:paddingLeft">10dp</item>
<item name="android:textSize">20sp</item>
</style>
<!-- Chart settings checkbox -->
<style name="ChartSettingsCheckbox">
<item name="android:checked">true</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
</style>
<!-- Chart settings radio button -->
<style name="ChartSettingsRadioButton">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
</style>
<style name="SensorStateLabel"> <style name="SensorStateLabel">
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">fill_parent</item> <item name="android:layout_width">fill_parent</item>
@@ -240,6 +240,7 @@ public class ChartActivity extends Activity implements TrackDataListener {
private void prepareSettingsDialog(ChartSettingsDialog settingsDialog) { private void prepareSettingsDialog(ChartSettingsDialog settingsDialog) {
settingsDialog.setMode(chartView.getMode()); settingsDialog.setMode(chartView.getMode());
settingsDialog.setDisplaySpeed(reportSpeed);
for (int i = 0; i < ChartView.NUM_SERIES; i++) { for (int i = 0; i < ChartView.NUM_SERIES; i++) {
settingsDialog.setSeriesEnabled(i, chartView.isChartValueSeriesEnabled(i)); settingsDialog.setSeriesEnabled(i, chartView.isChartValueSeriesEnabled(i));
} }
@@ -90,6 +90,15 @@ public class ChartSettingsDialog extends Dialog {
: R.id.chart_settings_by_time); : R.id.chart_settings_by_time);
} }
/**
* Sets whether to display speed or pace.
*
* @param displaySpeed true to display speed
*/
public void setDisplaySpeed(boolean displaySpeed) {
series[ChartView.SPEED_SERIES].setText(displaySpeed ? R.string.stat_speed : R.string.stat_pace);
}
public void setSeriesEnabled(int seriesIdx, boolean enabled) { public void setSeriesEnabled(int seriesIdx, boolean enabled) {
series[seriesIdx].setChecked(enabled); series[seriesIdx].setChecked(enabled);
} }