mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-10-10 23:28:25 +02:00
Add final tweaks to Daily Sessions List Dashboard view
This commit is contained in:
parent
5f85bba438
commit
71f6fd77cb
@ -8,10 +8,12 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.github.mikephil.charting.animation.Easing;
|
||||||
import com.github.mikephil.charting.charts.PieChart;
|
import com.github.mikephil.charting.charts.PieChart;
|
||||||
import com.github.mikephil.charting.data.PieData;
|
import com.github.mikephil.charting.data.PieData;
|
||||||
import com.github.mikephil.charting.data.PieDataSet;
|
import com.github.mikephil.charting.data.PieDataSet;
|
||||||
import com.github.mikephil.charting.data.PieEntry;
|
import com.github.mikephil.charting.data.PieEntry;
|
||||||
|
import com.github.mikephil.charting.utils.MPPointF;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -29,15 +31,15 @@ import nodomain.freeyourgadget.gadgetbridge.model.ActivityUser;
|
|||||||
import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils;
|
import nodomain.freeyourgadget.gadgetbridge.util.DateTimeUtils;
|
||||||
|
|
||||||
public class ActivityListingAdapter extends AbstractActivityListingAdapter<ActivitySession> {
|
public class ActivityListingAdapter extends AbstractActivityListingAdapter<ActivitySession> {
|
||||||
public static final String ACTIVE_STEPS_CHART_COLOR = "#3498db";
|
public static final String CHART_COLOR_START = "#e74c3c";
|
||||||
public static final String DISTANCE_CHART_COLOR = "#f1c40f";
|
public static final String CHART_COLOR_END = "#2ecc71";
|
||||||
public static final String ACTIVE_TIME_CHART_COLOR = "#e74c3c";
|
|
||||||
protected static final Logger LOG = LoggerFactory.getLogger(AbstractWeekChartFragment.class);
|
protected static final Logger LOG = LoggerFactory.getLogger(AbstractWeekChartFragment.class);
|
||||||
|
protected final int ANIM_TIME = 250;
|
||||||
private final int SESSION_SUMMARY = ActivitySession.SESSION_SUMMARY;
|
private final int SESSION_SUMMARY = ActivitySession.SESSION_SUMMARY;
|
||||||
ActivityUser activityUser = new ActivityUser();
|
ActivityUser activityUser = new ActivityUser();
|
||||||
int stepsGoal = activityUser.getStepsGoal();
|
int stepsGoal = activityUser.getStepsGoal();
|
||||||
int distanceMeters = activityUser.getDistanceMeters();
|
int distanceGoalMeters = activityUser.getDistanceMeters();
|
||||||
long activeTimeMillis = activityUser.getActiveTimeMinutes() * 60 * 1000L;
|
long activeTimeGoalTimeMillis = activityUser.getActiveTimeMinutes() * 60 * 1000L;
|
||||||
|
|
||||||
public ActivityListingAdapter(Context context) {
|
public ActivityListingAdapter(Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
@ -48,53 +50,44 @@ public class ActivityListingAdapter extends AbstractActivityListingAdapter<Activ
|
|||||||
LayoutInflater inflater = (LayoutInflater) context
|
LayoutInflater inflater = (LayoutInflater) context
|
||||||
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||||
view = inflater.inflate(R.layout.activity_list_dashboard_item, parent, false);
|
view = inflater.inflate(R.layout.activity_list_dashboard_item, parent, false);
|
||||||
|
|
||||||
PieChart ActiveStepsChart;
|
PieChart ActiveStepsChart;
|
||||||
PieChart DistanceChart;
|
PieChart DistanceChart;
|
||||||
PieChart ActiveTimeChart;
|
PieChart ActiveTimeChart;
|
||||||
|
|
||||||
ActiveStepsChart = view.findViewById(R.id.activity_dashboard_piechart1);
|
ActiveStepsChart = view.findViewById(R.id.activity_dashboard_piechart1);
|
||||||
setUpChart(ActiveStepsChart);
|
setUpChart(ActiveStepsChart);
|
||||||
setStepsData(item, ActiveStepsChart, context);
|
int steps = item.getActiveSteps();
|
||||||
|
setChartsData(ActiveStepsChart, steps, stepsGoal, context.getString(R.string.activity_list_summary_active_steps), context);
|
||||||
|
|
||||||
DistanceChart = view.findViewById(R.id.activity_dashboard_piechart2);
|
DistanceChart = view.findViewById(R.id.activity_dashboard_piechart2);
|
||||||
setUpChart(DistanceChart);
|
setUpChart(DistanceChart);
|
||||||
setDistanceData(item, DistanceChart, context);
|
float distance = item.getDistance();
|
||||||
|
setChartsData(DistanceChart, distance, distanceGoalMeters, context.getString(R.string.distance), context);
|
||||||
|
|
||||||
ActiveTimeChart = view.findViewById(R.id.activity_dashboard_piechart3);
|
ActiveTimeChart = view.findViewById(R.id.activity_dashboard_piechart3);
|
||||||
setUpChart(ActiveTimeChart);
|
setUpChart(ActiveTimeChart);
|
||||||
setDurationData(item, ActiveTimeChart, context);
|
long duration = item.getEndTime().getTime() - item.getStartTime().getTime();
|
||||||
|
setChartsData(ActiveTimeChart, duration, activeTimeGoalTimeMillis, context.getString(R.string.activity_list_summary_active_time), context);
|
||||||
|
|
||||||
TextView stepLabel = view.findViewById(R.id.line_layout_step_label);
|
TextView stepLabel = view.findViewById(R.id.line_layout_step_label);
|
||||||
TextView stepTotalLabel = view.findViewById(R.id.line_layout_total_step_label);
|
TextView stepTotalLabel = view.findViewById(R.id.line_layout_total_step_label);
|
||||||
|
|
||||||
TextView distanceLabel = view.findViewById(R.id.line_layout_distance_label);
|
TextView distanceLabel = view.findViewById(R.id.line_layout_distance_label);
|
||||||
|
|
||||||
TextView hrLabel = view.findViewById(R.id.heartrate_widget_label);
|
TextView hrLabel = view.findViewById(R.id.heartrate_widget_label);
|
||||||
|
|
||||||
TextView intensityLabel = view.findViewById(R.id.intensity_widget_label);
|
TextView intensityLabel = view.findViewById(R.id.intensity_widget_label);
|
||||||
TextView intensity2Label = view.findViewById(R.id.line_layout_intensity2_label);
|
TextView intensity2Label = view.findViewById(R.id.line_layout_intensity2_label);
|
||||||
|
|
||||||
|
|
||||||
TextView durationLabel = view.findViewById(R.id.line_layout_duration_label);
|
TextView durationLabel = view.findViewById(R.id.line_layout_duration_label);
|
||||||
TextView sessionCountLabel = view.findViewById(R.id.line_layout_count_label);
|
TextView sessionCountLabel = view.findViewById(R.id.line_layout_count_label);
|
||||||
|
|
||||||
LinearLayout durationLayout = view.findViewById(R.id.line_layout_duration);
|
LinearLayout durationLayout = view.findViewById(R.id.line_layout_duration);
|
||||||
LinearLayout countLayout = view.findViewById(R.id.line_layout_count);
|
LinearLayout countLayout = view.findViewById(R.id.line_layout_count);
|
||||||
|
|
||||||
|
|
||||||
View hrLayout = view.findViewById(R.id.heartrate_widget_icon);
|
View hrLayout = view.findViewById(R.id.heartrate_widget_icon);
|
||||||
LinearLayout stepsLayout = view.findViewById(R.id.line_layout_step);
|
LinearLayout stepsLayout = view.findViewById(R.id.line_layout_step);
|
||||||
LinearLayout stepsTotalLayout = view.findViewById(R.id.line_layout_total_step);
|
LinearLayout stepsTotalLayout = view.findViewById(R.id.line_layout_total_step);
|
||||||
|
|
||||||
|
|
||||||
LinearLayout distanceLayout = view.findViewById(R.id.line_layout_distance);
|
LinearLayout distanceLayout = view.findViewById(R.id.line_layout_distance);
|
||||||
View intensityLayout = view.findViewById(R.id.intensity_widget_icon);
|
View intensityLayout = view.findViewById(R.id.intensity_widget_icon);
|
||||||
View intensity2Layout = view.findViewById(R.id.line_layout_intensity2);
|
View intensity2Layout = view.findViewById(R.id.line_layout_intensity2);
|
||||||
|
|
||||||
stepLabel.setText(getStepLabel(item));
|
stepLabel.setText(getStepLabel(item));
|
||||||
stepTotalLabel.setText(getStepTotalLabel(item));
|
stepTotalLabel.setText(getStepTotalLabel(item));
|
||||||
|
|
||||||
distanceLabel.setText(getDistanceLabel(item));
|
distanceLabel.setText(getDistanceLabel(item));
|
||||||
hrLabel.setText(getHrLabel(item));
|
hrLabel.setText(getHrLabel(item));
|
||||||
intensityLabel.setText(getIntensityLabel(item));
|
intensityLabel.setText(getIntensityLabel(item));
|
||||||
@ -147,70 +140,38 @@ public class ActivityListingAdapter extends AbstractActivityListingAdapter<Activ
|
|||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setStepsData(ActivitySession item, PieChart DashboardChart, Context context) {
|
private void setChartsData(PieChart pieChart, float value, float target, String label, Context context) {
|
||||||
ArrayList<PieEntry> entries = new ArrayList<>();
|
ArrayList<PieEntry> entries = new ArrayList<>();
|
||||||
int steps = item.getActiveSteps();
|
entries.add(new PieEntry((float) value, context.getResources().getDrawable(R.drawable.ic_star_gold)));
|
||||||
entries.add(new PieEntry((float) steps));
|
|
||||||
|
|
||||||
if (steps < stepsGoal) {
|
Easing.EasingFunction animationEffect = Easing.EaseInOutSine;
|
||||||
entries.add(new PieEntry((float) (stepsGoal - steps)));
|
|
||||||
|
if (value < target) {
|
||||||
|
entries.add(new PieEntry((float) (target - value)));
|
||||||
}
|
}
|
||||||
|
|
||||||
DashboardChart.setCenterText(String.format("%d%%\n%s", (int) (steps * 100 / stepsGoal), context.getString(R.string.activity_list_summary_active_steps)));
|
pieChart.setCenterText(String.format("%d%%\n%s", (int) (value * 100 / target), label));
|
||||||
|
float colorValue = Math.max(0, Math.min(1, value / target));
|
||||||
|
int chartColor = interpolateColor(Color.parseColor(CHART_COLOR_START), Color.parseColor(CHART_COLOR_END), colorValue);
|
||||||
|
|
||||||
PieDataSet dataSet = new PieDataSet(entries, "");
|
PieDataSet dataSet = new PieDataSet(entries, "");
|
||||||
|
dataSet.setDrawIcons(false);
|
||||||
|
dataSet.setIconsOffset(new MPPointF(0, -66));
|
||||||
|
|
||||||
|
if (colorValue == 1) {
|
||||||
|
dataSet.setDrawIcons(true);
|
||||||
|
}
|
||||||
dataSet.setSliceSpace(0f);
|
dataSet.setSliceSpace(0f);
|
||||||
dataSet.setSelectionShift(5f);
|
dataSet.setSelectionShift(5f);
|
||||||
|
dataSet.setColors(chartColor, Color.LTGRAY);
|
||||||
|
|
||||||
dataSet.setColors(Color.parseColor(ACTIVE_STEPS_CHART_COLOR), Color.LTGRAY);
|
|
||||||
PieData data = new PieData(dataSet);
|
PieData data = new PieData(dataSet);
|
||||||
data.setValueTextSize(0f);
|
data.setValueTextSize(0f);
|
||||||
data.setValueTextColor(Color.WHITE);
|
data.setValueTextColor(Color.WHITE);
|
||||||
DashboardChart.setData(data);
|
|
||||||
DashboardChart.invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setDistanceData(ActivitySession item, PieChart DashboardChart, Context context) {
|
pieChart.setData(data);
|
||||||
ArrayList<PieEntry> entries = new ArrayList<>();
|
pieChart.invalidate();
|
||||||
float distance = item.getDistance();
|
pieChart.animateY(ANIM_TIME, animationEffect);
|
||||||
entries.add(new PieEntry(distance));
|
|
||||||
|
|
||||||
if (distance < distanceMeters) {
|
|
||||||
entries.add(new PieEntry((float) (distanceMeters - distance)));
|
|
||||||
}
|
|
||||||
|
|
||||||
DashboardChart.setCenterText(String.format("%d%%\n%s", (int) (distance * 100 / distanceMeters), context.getString(R.string.distance)));
|
|
||||||
PieDataSet dataSet = new PieDataSet(entries, "");
|
|
||||||
dataSet.setSliceSpace(0f);
|
|
||||||
dataSet.setSelectionShift(5f);
|
|
||||||
|
|
||||||
dataSet.setColors(Color.parseColor(DISTANCE_CHART_COLOR), Color.LTGRAY);
|
|
||||||
PieData data = new PieData(dataSet);
|
|
||||||
data.setValueTextSize(0f);
|
|
||||||
data.setValueTextColor(Color.WHITE);
|
|
||||||
DashboardChart.setData(data);
|
|
||||||
DashboardChart.invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setDurationData(ActivitySession item, PieChart DashboardChart, Context context) {
|
|
||||||
ArrayList<PieEntry> entries = new ArrayList<>();
|
|
||||||
long duration = item.getEndTime().getTime() - item.getStartTime().getTime();
|
|
||||||
entries.add(new PieEntry((float) duration));
|
|
||||||
|
|
||||||
if (duration < activeTimeMillis) {
|
|
||||||
entries.add(new PieEntry((float) (activeTimeMillis - duration)));
|
|
||||||
}
|
|
||||||
|
|
||||||
DashboardChart.setCenterText(String.format("%d%%\n%s", (int) (duration * 100 / activeTimeMillis), context.getString(R.string.activity_list_summary_active_time)));
|
|
||||||
PieDataSet dataSet = new PieDataSet(entries, "");
|
|
||||||
dataSet.setSliceSpace(0f);
|
|
||||||
dataSet.setSelectionShift(5f);
|
|
||||||
dataSet.setColors(Color.parseColor(ACTIVE_TIME_CHART_COLOR), Color.LTGRAY);
|
|
||||||
PieData data = new PieData(dataSet);
|
|
||||||
data.setValueTextSize(0f);
|
|
||||||
data.setValueTextColor(Color.WHITE);
|
|
||||||
DashboardChart.setData(data);
|
|
||||||
DashboardChart.invalidate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpChart(PieChart DashboardChart) {
|
private void setUpChart(PieChart DashboardChart) {
|
||||||
@ -229,6 +190,21 @@ public class ActivityListingAdapter extends AbstractActivityListingAdapter<Activ
|
|||||||
DashboardChart.setCenterTextOffset(0, 0);
|
DashboardChart.setCenterTextOffset(0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private float interpolate(float a, float b, float proportion) {
|
||||||
|
return (a + ((b - a) * proportion));
|
||||||
|
}
|
||||||
|
|
||||||
|
private int interpolateColor(int a, int b, float proportion) {
|
||||||
|
float[] hsva = new float[3];
|
||||||
|
float[] hsvb = new float[3];
|
||||||
|
Color.colorToHSV(a, hsva);
|
||||||
|
Color.colorToHSV(b, hsvb);
|
||||||
|
for (int i = 0; i < 3; i++) {
|
||||||
|
hsvb[i] = interpolate(hsva[i], hsvb[i], proportion);
|
||||||
|
}
|
||||||
|
return Color.HSVToColor(hsvb);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getDateLabel(ActivitySession item) {
|
protected String getDateLabel(ActivitySession item) {
|
||||||
return "";
|
return "";
|
||||||
|
@ -27,6 +27,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.github.mikephil.charting.animation.Easing;
|
||||||
import com.github.mikephil.charting.charts.Chart;
|
import com.github.mikephil.charting.charts.Chart;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -106,7 +107,7 @@ public class ActivityListingChartFragment extends AbstractChartFragment {
|
|||||||
protected void updateChartsnUIThread(ChartsData chartsData) {
|
protected void updateChartsnUIThread(ChartsData chartsData) {
|
||||||
MyChartsData mcd = (MyChartsData) chartsData;
|
MyChartsData mcd = (MyChartsData) chartsData;
|
||||||
if (mcd.getStepSessions().toArray().length == 0) {
|
if (mcd.getStepSessions().toArray().length == 0) {
|
||||||
getChartsHost().enableSwipeRefresh(true); //try to enable pull to refresh, might be needed
|
getChartsHost().enableSwipeRefresh(true); //enable pull to refresh, might be needed
|
||||||
} else {
|
} else {
|
||||||
getChartsHost().enableSwipeRefresh(false); //disable pull to refresh as it collides with swipable view
|
getChartsHost().enableSwipeRefresh(false); //disable pull to refresh as it collides with swipable view
|
||||||
}
|
}
|
||||||
@ -117,7 +118,6 @@ public class ActivityListingChartFragment extends AbstractChartFragment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void renderCharts() {
|
protected void renderCharts() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
9
app/src/main/res/drawable/ic_star_gold.xml
Normal file
9
app/src/main/res/drawable/ic_star_gold.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24">
|
||||||
|
<path
|
||||||
|
android:fillColor="@android:color/holo_orange_light"
|
||||||
|
android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z" />
|
||||||
|
</vector>
|
@ -14,11 +14,6 @@
|
|||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@ -58,13 +53,11 @@
|
|||||||
-->
|
-->
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
android:layout_marginBottom="5dp"
|
android:layout_marginBottom="0dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
@ -99,15 +92,15 @@
|
|||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="5dp"
|
android:layout_marginTop="0dp"
|
||||||
android:layout_marginBottom="5dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:baselineAligned="false"
|
android:baselineAligned="false"
|
||||||
android:gravity="bottom|center"
|
android:gravity="bottom|center"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/line_layout_step"
|
android:id="@+id/line_layout_step"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center|top"
|
android:layout_gravity="center|top"
|
||||||
android:layout_marginStart="1dp"
|
android:layout_marginStart="1dp"
|
||||||
@ -132,7 +125,10 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="@string/activity_list_summary_active_steps" />
|
android:text="@string/activity_list_summary_active_steps"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@color/accent"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/line_layout_step_label"
|
android:id="@+id/line_layout_step_label"
|
||||||
@ -143,14 +139,15 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="15000" />
|
android:text="15000"
|
||||||
|
android:textSize="24sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/line_layout_distance"
|
android:id="@+id/line_layout_distance"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center|top"
|
android:layout_gravity="center|top"
|
||||||
android:layout_marginStart="1dp"
|
android:layout_marginStart="1dp"
|
||||||
@ -175,7 +172,10 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="@string/distance" />
|
android:text="@string/distance"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@color/accent"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/line_layout_distance_label"
|
android:id="@+id/line_layout_distance_label"
|
||||||
@ -186,14 +186,15 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="15.1km" />
|
android:text="15.1km"
|
||||||
|
android:textSize="24sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/line_layout_duration"
|
android:id="@+id/line_layout_duration"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center|top"
|
android:layout_gravity="center|top"
|
||||||
android:layout_marginStart="1dp"
|
android:layout_marginStart="1dp"
|
||||||
@ -218,7 +219,10 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="@string/activity_list_summary_active_time" />
|
android:text="@string/activity_list_summary_active_time"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@color/accent"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/line_layout_duration_label"
|
android:id="@+id/line_layout_duration_label"
|
||||||
@ -229,7 +233,8 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="122" />
|
android:text="122"
|
||||||
|
android:textSize="24sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
@ -247,7 +252,7 @@
|
|||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/line_layout_total_step"
|
android:id="@+id/line_layout_total_step"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center|top"
|
android:layout_gravity="center|top"
|
||||||
android:layout_marginStart="1dp"
|
android:layout_marginStart="1dp"
|
||||||
@ -272,7 +277,10 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="@string/live_activity_total_steps" />
|
android:text="@string/live_activity_total_steps"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@color/accent"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/line_layout_total_step_label"
|
android:id="@+id/line_layout_total_step_label"
|
||||||
@ -283,14 +291,15 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="15000" />
|
android:text="15000"
|
||||||
|
android:textSize="24sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/line_layout_count"
|
android:id="@+id/line_layout_count"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="center|top"
|
android:layout_gravity="center|top"
|
||||||
android:layout_marginStart="1dp"
|
android:layout_marginStart="1dp"
|
||||||
@ -315,7 +324,10 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="@string/activity_list_summary_activities" />
|
android:text="@string/activity_list_summary_activities"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@color/accent"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/line_layout_count_label"
|
android:id="@+id/line_layout_count_label"
|
||||||
@ -326,15 +338,16 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="15" />
|
android:text="15"
|
||||||
|
android:textSize="24sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/line_layout_intensity2"
|
android:id="@+id/line_layout_intensity2"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="bottom|center"
|
android:layout_gravity="center|top"
|
||||||
android:layout_marginStart="1dp"
|
android:layout_marginStart="1dp"
|
||||||
android:layout_marginEnd="1dp"
|
android:layout_marginEnd="1dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
@ -357,7 +370,10 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="2"
|
android:maxLines="2"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="@string/activity_list_summary_intensity" />
|
android:text="@string/activity_list_summary_intensity"
|
||||||
|
android:textAllCaps="true"
|
||||||
|
android:textColor="@color/accent"
|
||||||
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/line_layout_intensity2_label"
|
android:id="@+id/line_layout_intensity2_label"
|
||||||
@ -368,7 +384,8 @@
|
|||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:scrollHorizontally="false"
|
android:scrollHorizontally="false"
|
||||||
android:text="15" />
|
android:text="15"
|
||||||
|
android:textSize="24sp" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user