Added empty list message for dashboard
This commit is contained in:
parent
04ebe2ecf8
commit
ca67f518fb
4 changed files with 59 additions and 3 deletions
|
@ -59,6 +59,19 @@
|
|||
android:background="?attr/bg_color"
|
||||
android:fadeScrollbars="true" >
|
||||
</net.osmand.plus.views.controls.DynamicListView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/emptyTextView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:background="?attr/bg_color"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:clickable="true"
|
||||
android:textSize="@dimen/default_list_text_size_large"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -55,11 +55,26 @@
|
|||
android:layout_height="match_parent"
|
||||
android:visibility="gone" >
|
||||
|
||||
<View
|
||||
<LinearLayout
|
||||
android:id="@+id/dash_list_background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?attr/bg_color" />
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/bg_color"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/emptyTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="100dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/default_list_text_size_large"
|
||||
android:visibility="gone"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<net.osmand.plus.views.controls.DynamicListView
|
||||
android:id="@+id/dash_list_view"
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
|
||||
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
|
||||
-->
|
||||
<string name="no_map_markers_found">Please add map markers via map</string>
|
||||
<string name="no_waypoints_found">No waypoints found</string>
|
||||
<string name="osmo_group_information_desc">
|
||||
- Creating a group please give it a name and fill in description\n
|
||||
- From the application group are created only with Simple type, read more on the website https://osmo.mobi/g/new \n
|
||||
|
|
|
@ -36,6 +36,7 @@ import com.github.ksoichiro.android.observablescrollview.ObservableScrollView;
|
|||
import com.github.ksoichiro.android.observablescrollview.ObservableScrollViewCallbacks;
|
||||
import com.github.ksoichiro.android.observablescrollview.ScrollState;
|
||||
|
||||
import net.osmand.AndroidUtils;
|
||||
import net.osmand.PlatformUtil;
|
||||
import net.osmand.ValueHolder;
|
||||
import net.osmand.data.LatLon;
|
||||
|
@ -151,6 +152,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
|||
private int mFlexibleBlurSpaceHeight;
|
||||
private boolean portrait;
|
||||
private long lastUpOrCancelMotionEventTime;
|
||||
private TextView listEmptyTextView;
|
||||
|
||||
int baseColor;
|
||||
|
||||
|
@ -218,6 +220,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
|||
//listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
|
||||
listView.setDrawSelectorOnTop(true);
|
||||
listView.setDynamicListViewCallbacks(this);
|
||||
listEmptyTextView = (TextView) dashboardView.findViewById(R.id.emptyTextView);
|
||||
|
||||
// Create a ListView-specific touch listener. ListViews are given special treatment because
|
||||
// by default they handle touches for their list items... i.e. they're in charge of drawing
|
||||
|
@ -839,6 +842,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
|||
listBackgroundView.setBackgroundColor(mapActivity.getResources().getColor(R.color.ctx_menu_info_view_bg_dark));
|
||||
} else {
|
||||
listView.setBackgroundColor(mapActivity.getResources().getColor(R.color.ctx_menu_info_view_bg_dark));
|
||||
listEmptyTextView.setBackgroundColor(mapActivity.getResources().getColor(R.color.ctx_menu_info_view_bg_dark));
|
||||
}
|
||||
if (visibleType != DashboardType.WAYPOINTS && visibleType != DashboardType.MAP_MARKERS
|
||||
&& visibleType != DashboardType.MAP_MARKERS_SELECTION) {
|
||||
|
@ -853,6 +857,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
|||
listBackgroundView.setBackgroundColor(mapActivity.getResources().getColor(R.color.ctx_menu_info_view_bg_light));
|
||||
} else {
|
||||
listView.setBackgroundColor(mapActivity.getResources().getColor(R.color.ctx_menu_info_view_bg_light));
|
||||
listEmptyTextView.setBackgroundColor(mapActivity.getResources().getColor(R.color.ctx_menu_info_view_bg_light));
|
||||
}
|
||||
if (visibleType != DashboardType.WAYPOINTS && visibleType != DashboardType.MAP_MARKERS
|
||||
&& visibleType != DashboardType.MAP_MARKERS_SELECTION) {
|
||||
|
@ -863,6 +868,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
|||
listView.setDivider(null);
|
||||
}
|
||||
}
|
||||
AndroidUtils.setTextSecondaryColor(mapActivity, listEmptyTextView, nightMode);
|
||||
/*
|
||||
listView.setOverscrollFooter(new ColorDrawable(
|
||||
nightMode ? mapActivity.getResources().getColor(R.color.ctx_menu_info_view_bg_dark)
|
||||
|
@ -876,6 +882,8 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
|||
}
|
||||
|
||||
private void updateListAdapter() {
|
||||
listEmptyTextView.setVisibility(View.GONE);
|
||||
listView.setEmptyView(null);
|
||||
ContextMenuAdapter cm = null;
|
||||
if (DashboardType.WAYPOINTS == visibleType || DashboardType.WAYPOINTS_FLAT == visibleType) {
|
||||
|
||||
|
@ -887,6 +895,15 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
|||
setDynamicListItems(listView, listAdapter);
|
||||
updateListAdapter(listAdapter, listener);
|
||||
|
||||
if (listAdapter.getObjects().size() == 0) {
|
||||
listEmptyTextView.setText(mapActivity.getString(R.string.no_waypoints_found));
|
||||
if (landscape) {
|
||||
listView.setEmptyView(listEmptyTextView);
|
||||
} else {
|
||||
listEmptyTextView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
} else if (DashboardType.MAP_MARKERS == visibleType || visibleType == DashboardType.MAP_MARKERS_SELECTION) {
|
||||
|
||||
mapMarkerDialogHelper.setSelectionMode(visibleType == DashboardType.MAP_MARKERS_SELECTION);
|
||||
|
@ -900,6 +917,15 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis
|
|||
showMarkersRouteOnMap();
|
||||
}
|
||||
|
||||
if (listAdapter.getObjects().size() == 0) {
|
||||
listEmptyTextView.setText(mapActivity.getString(R.string.no_map_markers_found));
|
||||
if (landscape) {
|
||||
listView.setEmptyView(listEmptyTextView);
|
||||
} else {
|
||||
listEmptyTextView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (DashboardType.CONFIGURE_SCREEN == visibleType) {
|
||||
|
|
Loading…
Reference in a new issue