new layout wind input xlarge devices (landscape mode)

This commit is contained in:
Peter Siegmund
2015-11-16 11:05:28 +01:00
parent 9a149bf283
commit 5ecde7fd94
5 changed files with 445 additions and 154 deletions
@@ -23,8 +23,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:layout_marginRight="@dimen/side_padding"
android:text="@string/wind_off"
android:textAppearance="?textNormal"
android:visibility="gone"
@@ -35,10 +34,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/default_margin_half"
android:layout_marginRight="@dimen/default_margin_half"
android:layout_toLeftOf="@id/wind_sensor"
android:layout_toStartOf="@id/wind_sensor"
android:src="?wind_off"
android:visibility="gone"
tools:visibility="visible"/>
@@ -48,7 +45,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/default_margin_half"
android:layout_marginRight="@dimen/default_margin_half"
android:layout_toLeftOf="@id/wind_sensor"
android:layout_toStartOf="@id/wind_sensor"
@@ -63,15 +59,12 @@
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginLeft="@dimen/side_padding"
android:layout_toLeftOf="@id/wind_off"
android:layout_toStartOf="@id/wind_off"
android:drawableLeft="?chevron_left_24dp"
android:orientation="horizontal"
android:text="@string/wind"
android:textAppearance="?textNormal"/>
android:textAppearance="?textHeader"/>
<View
android:id="@+id/line_top"
@@ -83,13 +76,11 @@
<RelativeLayout
android:id="@+id/content_layout"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/header_layout"
android:background="?sap_gray_black_30"
android:orientation="vertical"
android:paddingLeft="@dimen/default_padding"
android:paddingRight="@dimen/default_padding">
android:orientation="vertical">
<Button
android:id="@+id/set_data"
@@ -104,166 +95,163 @@
android:padding="@dimen/default_padding_half"
android:text="@string/wind_set_data"/>
<Button
android:id="@+id/set_position"
style="?attr/buttonSolidNormal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_margin="@dimen/default_margin_half"
android:padding="@dimen/default_padding_half"
android:text="@string/wind_set_position"
android:visibility="invisible"/>
<LinearLayout
android:layout_width="wrap_content"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/set_data"
android:orientation="horizontal">
android:layout_above="@id/set_data">
<RelativeLayout
android:id="@+id/layout_direction"
<GridLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:columnCount="5">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_margin="@dimen/default_margin"
android:layout_column="0"
android:layout_gravity="right"
android:layout_marginBottom="@dimen/side_padding"
android:layout_marginRight="@dimen/side_padding"
android:layout_row="0"
android:text="@string/wind_from"
android:textAppearance="?textSmall"
android:visibility="visible"/>
<com.sap.sailing.racecommittee.app.ui.views.CompassView
android:id="@+id/compass_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_speed"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/default_margin"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:orientation="vertical">
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="@dimen/default_margin"
android:layout_column="0"
android:layout_gravity="right"
android:layout_marginBottom="@dimen/side_padding"
android:layout_marginRight="@dimen/side_padding"
android:layout_row="1"
android:text="@string/wind_speed"
android:textAppearance="?textSmall"/>
<NumberPicker
android:id="@+id/wind_speed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:scaleX="@integer/picker_scale"
android:scaleY="@integer/picker_scale"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_position"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/default_margin"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:orientation="vertical">
<TextView
android:id="@+id/position_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/default_margin"
android:text="@string/wind_position"
android:layout_column="3"
android:layout_gravity="right"
android:layout_marginBottom="@dimen/side_padding"
android:layout_marginRight="@dimen/side_padding"
android:layout_row="0"
android:text="@string/wind_latitude"
android:textAppearance="?textSmall"/>
<LinearLayout
android:layout_width="match_parent"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/position_header"
android:orientation="vertical"
android:padding="@dimen/default_margin">
android:layout_column="3"
android:layout_gravity="right"
android:layout_marginBottom="@dimen/side_padding"
android:layout_marginRight="@dimen/side_padding"
android:layout_row="1"
android:text="@string/wind_longitude"
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/side_padding"
android:text="@string/wind_latitude"
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_gravity="right"
android:layout_marginRight="@dimen/side_padding"
android:layout_row="3"
android:text="@string/wind_accuracy"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/latitude_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/not_available"
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_marginLeft="@dimen/side_padding"
android:layout_marginRight="@dimen/side_padding"
android:layout_row="0"
android:text="@string/wind_degree"
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/side_padding"
android:layout_marginTop="@dimen/default_margin_half"
android:text="@string/wind_longitude"
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2"
android:layout_marginLeft="@dimen/side_padding"
android:layout_marginRight="@dimen/side_padding"
android:layout_row="1"
android:text="@string/wind_kn"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/longitude_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/not_available"
android:textAppearance="?textSmall"/>
<EditText
android:id="@+id/wind_input_direction"
android:layout_width="@dimen/wind_input_width"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="0"
android:inputType="number"
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/side_padding"
android:layout_marginTop="@dimen/default_margin_half"
android:text="@string/wind_accuracy"
android:textAppearance="?textSmall"/>
<EditText
android:id="@+id/wind_input_speed"
android:layout_width="@dimen/wind_input_width"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="1"
android:inputType="numberDecimal"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/accuracy_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/side_padding"
android:text="@string/not_available"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/latitude_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="4"
android:layout_marginBottom="@dimen/side_padding"
android:layout_row="0"
android:text="@string/not_available"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/accuracy_timestamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?textSmall"
tools:text="(12/31/2015 12:21:21)"/>
<TextView
android:id="@+id/longitude_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="4"
android:layout_marginBottom="@dimen/side_padding"
android:layout_row="1"
android:text="@string/not_available"
android:textAppearance="?textSmall"/>
<Button
android:id="@+id/position_show"
style="?attr/buttonSolidNormal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/default_margin"
android:text="@string/wind_map_button_show"/>
<TextView
android:id="@+id/accuracy_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="4"
android:layout_row="3"
android:textAppearance="?textSmall"
tools:text="ca 5m"/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<TextView
android:id="@+id/accuracy_timestamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3"
android:layout_columnSpan="2"
android:layout_gravity="right"
android:layout_row="4"
android:textAppearance="?textSmall"
tools:text="(since 0h 23' 12'')"/>
<Button
android:id="@+id/position_show"
style="?attr/button"
android:layout_width="@dimen/default_button_width"
android:layout_height="@dimen/default_button_height"
android:layout_column="3"
android:layout_columnSpan="2"
android:layout_gravity="right"
android:layout_marginTop="@dimen/default_margin"
android:layout_row="5"
android:text="@string/wind_map_button_show"
android:textSize="@dimen/textSize_18"/>
</GridLayout>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
@@ -273,17 +261,10 @@
android:layout_below="@+id/content_layout"
android:visibility="gone">
<LinearLayout
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
android:layout_height="match_parent"/>
<Button
android:id="@+id/position_hide"
@@ -0,0 +1,302 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/windFragment"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/header_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/selector_header_height"
android:background="?sap_gray"
android:clickable="true">
<TextView
android:id="@+id/wind_sensor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:text="@string/wind_off"
android:textAppearance="?textNormal"
android:visibility="gone"
tools:visibility="visible"/>
<ImageView
android:id="@+id/wind_off"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/default_margin_half"
android:layout_marginRight="@dimen/default_margin_half"
android:layout_toLeftOf="@id/wind_sensor"
android:layout_toStartOf="@id/wind_sensor"
android:src="?wind_off"
android:visibility="gone"
tools:visibility="visible"/>
<ImageView
android:id="@+id/wind_on"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginEnd="@dimen/default_margin_half"
android:layout_marginRight="@dimen/default_margin_half"
android:layout_toLeftOf="@id/wind_sensor"
android:layout_toStartOf="@id/wind_sensor"
android:src="?wind_on"
android:visibility="gone"/>
<TextView
android:id="@+id/header_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_toLeftOf="@id/wind_off"
android:layout_toStartOf="@id/wind_off"
android:drawableLeft="?chevron_left_24dp"
android:orientation="horizontal"
android:text="@string/wind"
android:textAppearance="?textNormal"/>
<View
android:id="@+id/line_top"
android:layout_width="match_parent"
android:layout_height="@dimen/unscheduled_header_line"
android:layout_alignParentBottom="true"
android:background="?black"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/content_layout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_below="@id/header_layout"
android:background="?sap_gray_black_30"
android:orientation="vertical"
android:paddingLeft="@dimen/default_padding"
android:paddingRight="@dimen/default_padding">
<Button
android:id="@+id/set_data"
style="?attr/buttonSolidNormal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_margin="@dimen/default_margin_half"
android:enabled="false"
android:padding="@dimen/default_padding_half"
android:text="@string/wind_set_data"/>
<Button
android:id="@+id/set_position"
style="?attr/buttonSolidNormal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:layout_margin="@dimen/default_margin_half"
android:padding="@dimen/default_padding_half"
android:text="@string/wind_set_position"
android:visibility="invisible"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_above="@id/set_data"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/layout_direction"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_margin="@dimen/default_margin"
android:text="@string/wind_from"
android:textAppearance="?textSmall"
android:visibility="visible"/>
<com.sap.sailing.racecommittee.app.ui.views.CompassView
android:id="@+id/compass_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_speed"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/default_margin"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="@dimen/default_margin"
android:text="@string/wind_speed"
android:textAppearance="?textSmall"/>
<NumberPicker
android:id="@+id/wind_speed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:scaleX="@integer/picker_scale"
android:scaleY="@integer/picker_scale"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/layout_position"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/default_margin"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:orientation="vertical">
<TextView
android:id="@+id/position_header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/default_margin"
android:text="@string/wind_position"
android:textAppearance="?textSmall"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/position_header"
android:orientation="vertical"
android:padding="@dimen/default_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/side_padding"
android:text="@string/wind_latitude"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/latitude_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/not_available"
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/side_padding"
android:layout_marginTop="@dimen/default_margin_half"
android:text="@string/wind_longitude"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/longitude_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/not_available"
android:textAppearance="?textSmall"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/side_padding"
android:layout_marginTop="@dimen/default_margin_half"
android:text="@string/wind_accuracy"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/accuracy_value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/side_padding"
android:text="@string/not_available"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/accuracy_timestamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?textSmall"
tools:text="(12/31/2015 12:21:21)"/>
<Button
android:id="@+id/position_show"
style="?attr/buttonSolidNormal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/default_margin"
android:text="@string/wind_map_button_show"/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/map_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/content_layout"
android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
<Button
android:id="@+id/position_hide"
style="?attr/buttonSolidNormal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="@dimen/wind_hide_button_right_margin"
android:layout_marginRight="@dimen/wind_hide_button_right_margin"
android:layout_marginTop="@dimen/wind_hide_button_top_margin"
android:text="@string/wind_map_button_hide"/>
</RelativeLayout>
</RelativeLayout>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="wind_input_width">60dp</dimen>
</resources>
@@ -2,5 +2,6 @@
<resources>
<item name="race_schedule_course_marks" type="layout">@layout/race_schedule_course_marks_xlarge</item>
<item name="wind_view" type="layout">@layout/wind_view_xlarge</item>
</resources>
@@ -153,6 +153,7 @@ public class WindFragment extends BaseFragment
}
mWindInputSpeed = ViewHelper.get(layout, R.id.wind_input_speed);
if (mWindInputSpeed != null) {
mWindInputSpeed.setFilters(new InputFilter[] { new RangeInputFilter(0, MAX_KTS) });
mWindInputSpeed.addTextChangedListener(new DecimalInputTextWatcher(mWindInputSpeed, 1));
}
mContentMapShow = ViewHelper.get(layout, R.id.position_show);