mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 15:57:11 +00:00
worked on drag and drop facility so that only when a certain symbol is
pressed the item moves
This commit is contained in:
1 parent
a056ccdb31
commit
1a3f016d71
8 files changed
+83
-8
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 640 B |
@@ -97,8 +97,12 @@
|
||||
dslv:float_alpha="0.6"
|
||||
dslv:slide_shuffle_speed="0.3"
|
||||
dslv:track_drag_sort="false"
|
||||
dslv:use_default_controller="true"
|
||||
dslv:float_background_color="@color/welter_light_gray"
|
||||
dslv:use_default_controller="false" />
|
||||
dslv:drag_handle_id="@id/drag_handle"
|
||||
dslv:drag_start_mode="onDrag"
|
||||
dslv:remove_enabled="true"
|
||||
dslv:remove_mode="flingRemove" />
|
||||
|
||||
<ListView
|
||||
android:id="@+id/gridViewCompetitors"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="6dip" >
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/Welter.Cell.OneRowTwoColumns.columnOne.txtTitle"
|
||||
android:layout_width="20dp"
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/Welter.Cell.Positioning"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="50dp"
|
||||
android:background="@drawable/list_selector"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="6dip" >
|
||||
|
||||
<ImageView
|
||||
android:id="@id/drag_handle"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_weight="0"
|
||||
android:background="@drawable/drag_symbol"
|
||||
android:contentDescription="@string/drag_handle_description" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/Welter.Cell.Positioning.columnOne.txtTitle"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="50dp"
|
||||
android:gravity="center_horizontal|center_vertical"
|
||||
android:padding="5dp"
|
||||
android:textColor="@drawable/text_selector"
|
||||
android:textSize="9pt"
|
||||
android:textIsSelectable="false" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/Welter.Cell.Positioning.columnTwo.txtTitle"
|
||||
android:layout_width="130dp"
|
||||
android:layout_height="50dp"
|
||||
android:gravity="center_horizontal|center_vertical"
|
||||
android:padding="5dp"
|
||||
android:textColor="@drawable/text_selector"
|
||||
android:textSize="9pt"
|
||||
android:textIsSelectable="false" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<item type="id" name="drag_handle" />
|
||||
<item type="id" name="fling_remove" />
|
||||
<item type="id" name="click_remove" />
|
||||
</resources>
|
||||
@@ -150,5 +150,6 @@
|
||||
<string name="positionings">Positioning</string>
|
||||
<string name="availableFinishingCompetitors">Competitors</string>
|
||||
<string name="choose_blue_flag_finishing">Finish race</string>
|
||||
<string name="drag_handle_description">Drag handle</string>
|
||||
|
||||
</resources>
|
||||
+3
-3
@@ -24,14 +24,14 @@ public class CompetitorPositioningListAdapter extends ArrayAdapter<Competitor> {
|
||||
if (convertView == null) {
|
||||
|
||||
LayoutInflater li = (LayoutInflater) (getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE));
|
||||
view = li.inflate(R.layout.welter_one_row_two_columns, null);
|
||||
view = li.inflate(R.layout.welter_positioning_item, null);
|
||||
}
|
||||
|
||||
Competitor competitor = getItem(position);
|
||||
|
||||
TextView positionText = (TextView) view.findViewById(R.id.Welter_Cell_OneRowTwoColumns_columnOne_txtTitle);
|
||||
TextView positionText = (TextView) view.findViewById(R.id.Welter_Cell_Positioning_columnOne_txtTitle);
|
||||
|
||||
TextView title = (TextView) view.findViewById(R.id.Welter_Cell_OneRowTwoColumns_columnTwo_txtTitle);
|
||||
TextView title = (TextView) view.findViewById(R.id.Welter_Cell_Positioning_columnTwo_txtTitle);
|
||||
|
||||
positionText.setText(String.valueOf(position + 1));
|
||||
title.setText(competitor.getName());
|
||||
|
||||
+27
-3
@@ -66,7 +66,7 @@ public class FinishingRaceFragment extends RaceFragment implements TickListener
|
||||
positionedCompetitors = new ArrayList<Competitor>();
|
||||
competitorsAdapter = new CompetitorsAdapter(getActivity(), R.layout.welter_grid_competitor_cell, competitors);
|
||||
|
||||
positioningAdapter = new CompetitorPositioningListAdapter(getActivity(), R.layout.welter_one_row_two_columns, positionedCompetitors);
|
||||
positioningAdapter = new CompetitorPositioningListAdapter(getActivity(), R.layout.welter_positioning_item, positionedCompetitors);
|
||||
|
||||
positioningListView = (DragSortListView) getView().findViewById(R.id.listViewPositioningList);
|
||||
positioningListView.setAdapter(positioningAdapter);
|
||||
@@ -81,6 +81,15 @@ public class FinishingRaceFragment extends RaceFragment implements TickListener
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
positioningListView.setRemoveListener(new DragSortListView.RemoveListener() {
|
||||
|
||||
@Override
|
||||
public void remove(int toBeRemoved) {
|
||||
Competitor item = positioningAdapter.getItem(toBeRemoved);
|
||||
onCompetitorRemovedFromPositioningList(item);
|
||||
}
|
||||
});
|
||||
|
||||
competitorListView = (ListView) getView().findViewById(R.id.gridViewCompetitors);
|
||||
competitorListView.setAdapter(competitorsAdapter);
|
||||
@@ -124,7 +133,7 @@ public class FinishingRaceFragment extends RaceFragment implements TickListener
|
||||
}
|
||||
|
||||
protected void onCompetitorClickedOnGrid(Competitor competitor) {
|
||||
addNewCompetitorToList(competitor);
|
||||
addNewCompetitorToPositioningList(competitor);
|
||||
removeCompetitorFromGrid(competitor);
|
||||
}
|
||||
|
||||
@@ -133,10 +142,25 @@ public class FinishingRaceFragment extends RaceFragment implements TickListener
|
||||
competitorsAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
private void addNewCompetitorToList(Competitor competitor) {
|
||||
private void addNewCompetitorToPositioningList(Competitor competitor) {
|
||||
positionedCompetitors.add(competitor);
|
||||
positioningAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
protected void onCompetitorRemovedFromPositioningList(Competitor competitor) {
|
||||
addNewCompetitorToCompetitorList(competitor);
|
||||
removeCompetitorFromPositionings(competitor);
|
||||
}
|
||||
|
||||
private void addNewCompetitorToCompetitorList(Competitor competitor) {
|
||||
competitors.add(competitor);
|
||||
competitorsAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
protected void removeCompetitorFromPositionings(Competitor competitor) {
|
||||
positionedCompetitors.remove(competitor);
|
||||
positioningAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
protected void setCountdownLabels(long millisecondsSinceStart) {
|
||||
setStarttimeCountupLabel(millisecondsSinceStart);
|
||||
|
||||
Reference in new issue
Block a user