forked from organicmaps/organicmaps
[android] layout_nav_bottom fixes.
[android] added padding shift for the my position button in follow mode.
This commit is contained in:
parent
60796fe887
commit
8bda4bdb8f
2 changed files with 122 additions and 81 deletions
|
@ -4,7 +4,7 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/nav_menu_height"
|
||||
android:orientation="horizontal"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/nav_numbers_margin"
|
||||
android:paddingStart="@dimen/nav_numbers_margin"
|
||||
android:layout_marginRight="@dimen/nav_toggle"
|
||||
|
@ -12,59 +12,51 @@
|
|||
android:background="?clickableBackground"
|
||||
tools:background="#3000FF00"
|
||||
tools:ignore="RtlSymmetry">
|
||||
<!-- Speed -->
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/speed_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:minWidth="@dimen/nav_numbers_side_min_width"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/nav_numbers_margin"
|
||||
android:paddingRight="@dimen/nav_numbers_margin"
|
||||
android:paddingTop="@dimen/margin_eighth"
|
||||
android:gravity="center_horizontal"
|
||||
tools:background="#20FF0000">
|
||||
<TextView
|
||||
android:id="@+id/speed_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/neg_margin_quarter"
|
||||
android:singleLine="true"
|
||||
android:includeFontPadding="false"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingNumber.Navigation"
|
||||
tools:text="999"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/speed_dimen"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingDimension"
|
||||
tools:text="km/h"/>
|
||||
</LinearLayout>
|
||||
|
||||
<Space android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<!-- Time -->
|
||||
<FrameLayout
|
||||
android:id="@+id/time_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:minWidth="@dimen/nav_numbers_center_min_width"
|
||||
android:paddingTop="@dimen/margin_eighth"
|
||||
tools:background="#20FF0000">
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginBottom="@dimen/neg_margin_quarter">
|
||||
<!-- Speed -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_gravity="center_horizontal">
|
||||
android:minWidth="@dimen/nav_numbers_side_min_width"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/nav_numbers_margin"
|
||||
android:paddingRight="@dimen/nav_numbers_margin"
|
||||
android:paddingTop="@dimen/margin_eighth"
|
||||
android:gravity="center_horizontal"
|
||||
tools:background="#20FF0000">
|
||||
<TextView
|
||||
android:id="@+id/speed_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/neg_margin_quarter"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingNumber.Navigation"
|
||||
tools:text="999"/>
|
||||
</LinearLayout>
|
||||
|
||||
<Space android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<!-- Time -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:minWidth="@dimen/nav_numbers_center_min_width"
|
||||
android:paddingTop="@dimen/margin_eighth"
|
||||
android:gravity="center_horizontal"
|
||||
tools:background="#20FF0000">
|
||||
<TextView
|
||||
android:id="@+id/time_hour_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingNumber.Navigation"
|
||||
tools:text="999"/>
|
||||
|
||||
|
@ -74,7 +66,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="@dimen/margin_quarter"
|
||||
android:layout_marginEnd="@dimen/margin_quarter"
|
||||
android:singleLine="true"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingDimension"
|
||||
tools:text="h"/>
|
||||
|
||||
|
@ -82,7 +74,7 @@
|
|||
android:id="@+id/time_minute_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingNumber.Navigation"
|
||||
tools:text="99"/>
|
||||
|
||||
|
@ -90,20 +82,73 @@
|
|||
android:id="@+id/time_minute_dimen"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingNumber"
|
||||
tools:text="m"/>
|
||||
</LinearLayout>
|
||||
|
||||
<Space android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<!-- Distance -->
|
||||
<LinearLayout
|
||||
android:id="@+id/distance_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:minWidth="@dimen/nav_numbers_side_min_width"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/nav_numbers_margin"
|
||||
android:paddingRight="@dimen/nav_numbers_margin"
|
||||
android:paddingTop="@dimen/margin_eighth"
|
||||
android:gravity="center_horizontal"
|
||||
tools:background="#20FF0000">
|
||||
<TextView
|
||||
android:id="@+id/distance_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/neg_margin_quarter"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingNumber.Navigation"
|
||||
tools:text="99999"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<!-- Speed -->
|
||||
<TextView
|
||||
android:id="@+id/speed_dimen"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:minWidth="@dimen/nav_numbers_side_min_width"
|
||||
android:paddingLeft="@dimen/nav_numbers_margin"
|
||||
android:paddingRight="@dimen/nav_numbers_margin"
|
||||
android:gravity="center"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingDimension"
|
||||
tools:text="km/h"
|
||||
tools:background="#20FF0000"/>
|
||||
|
||||
<Space android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<!-- Time -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:minWidth="@dimen/nav_numbers_center_min_width"
|
||||
android:theme="?navigationTheme"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center"
|
||||
android:layout_marginLeft="@dimen/margin_eighth"
|
||||
android:layout_marginStart="@dimen/margin_eighth"
|
||||
android:layout_marginTop="30dp">
|
||||
tools:background="#20FF0000">
|
||||
<ImageView
|
||||
android:id="@+id/dot_left"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -118,40 +163,23 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:src="?newsMarker"/>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
|
||||
<Space android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<!-- Distance -->
|
||||
<LinearLayout
|
||||
android:id="@+id/distance_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:minWidth="@dimen/nav_numbers_side_min_width"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/nav_numbers_margin"
|
||||
android:paddingRight="@dimen/nav_numbers_margin"
|
||||
android:paddingTop="@dimen/margin_eighth"
|
||||
android:gravity="center_horizontal"
|
||||
tools:background="#20FF0000">
|
||||
<TextView
|
||||
android:id="@+id/distance_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/neg_margin_quarter"
|
||||
android:singleLine="true"
|
||||
android:includeFontPadding="false"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingNumber.Navigation"
|
||||
tools:text="99999"/>
|
||||
<Space android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<!-- Distance -->
|
||||
<TextView
|
||||
android:id="@+id/distance_dimen"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:minWidth="@dimen/nav_numbers_side_min_width"
|
||||
android:paddingLeft="@dimen/nav_numbers_margin"
|
||||
android:paddingRight="@dimen/nav_numbers_margin"
|
||||
android:gravity="center"
|
||||
android:lines="1"
|
||||
android:textAppearance="@style/MwmTextAppearance.RoutingDimension"
|
||||
tools:text="km"/>
|
||||
tools:text="km"
|
||||
tools:background="#20FF0000"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
|
|
@ -19,6 +19,7 @@ import com.mapswithme.util.UiUtils;
|
|||
public class MyPositionButton
|
||||
{
|
||||
private static final String STATE_VISIBLE = "state_visible";
|
||||
private static final int FOLLOW_SHIFT = 1;
|
||||
|
||||
@NonNull
|
||||
private final ImageView mButton;
|
||||
|
@ -27,12 +28,15 @@ public class MyPositionButton
|
|||
private int mMode;
|
||||
private boolean mVisible;
|
||||
|
||||
private final int mFollowPaddingShift;
|
||||
|
||||
public MyPositionButton(@NonNull View button, @NonNull View.OnClickListener listener)
|
||||
{
|
||||
mButton = (ImageView) button;
|
||||
mVisible = UiUtils.isVisible(mButton);
|
||||
mButton.setOnClickListener(listener);
|
||||
mIcons.clear();
|
||||
mFollowPaddingShift = (int) (FOLLOW_SHIFT * button.getResources().getDisplayMetrics().density);
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
|
@ -69,6 +73,7 @@ public class MyPositionButton
|
|||
}
|
||||
|
||||
mButton.setImageDrawable(image);
|
||||
updatePadding(mode);
|
||||
|
||||
if (image instanceof AnimationDrawable)
|
||||
((AnimationDrawable) image).start();
|
||||
|
@ -76,6 +81,14 @@ public class MyPositionButton
|
|||
UiUtils.visibleIf(!shouldBeHidden(), mButton);
|
||||
}
|
||||
|
||||
private void updatePadding(int mode)
|
||||
{
|
||||
if (mode == LocationState.FOLLOW)
|
||||
mButton.setPadding(0, mFollowPaddingShift, mFollowPaddingShift, 0);
|
||||
else
|
||||
mButton.setPadding(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
private boolean shouldBeHidden()
|
||||
{
|
||||
return (mMode == LocationState.FOLLOW_AND_ROTATE
|
||||
|
|
Loading…
Add table
Reference in a new issue