diff --git a/app/build.gradle b/app/build.gradle index 854f0e8..5864302 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,8 +55,8 @@ dependencies { implementation project(':todaystepcounterlib') //打分ui compile 'com.github.CB-ysx:CBRatingBar:3.0.1' - //蛛网 - implementation 'me.panpf:spider-web-score-view:1.0.1' +// //蛛网 +// implementation 'me.panpf:spider-web-score-view:1.0.1' //折线 implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3' //searchview diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java index e9501a1..1d2d6ef 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java @@ -7,13 +7,11 @@ import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.RequiresApi; import android.support.v7.widget.Toolbar; -import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.FrameLayout; import android.widget.LinearLayout; -import android.widget.TextView; import com.ToxicBakery.viewpager.transforms.CubeOutTransformer; import com.cb.ratingbar.CBRatingBar; @@ -25,6 +23,15 @@ import com.example.ninefourone.nutritionmaster.ui.NoScrollViewPager; import com.example.ninefourone.nutritionmaster.utils.MessageUtils; import com.example.ninefourone.nutritionmaster.utils.PermissionUtils; import com.flyco.tablayout.SlidingTabLayout; +import com.github.mikephil.charting.charts.RadarChart; +import com.github.mikephil.charting.components.Description; +import com.github.mikephil.charting.components.Legend; +import com.github.mikephil.charting.components.XAxis; +import com.github.mikephil.charting.components.YAxis; +import com.github.mikephil.charting.data.RadarData; +import com.github.mikephil.charting.data.RadarDataSet; +import com.github.mikephil.charting.data.RadarEntry; +import com.github.mikephil.charting.formatter.IndexAxisValueFormatter; import com.github.siyamed.shapeimageview.CircularImageView; import com.miguelcatalan.materialsearchview.MaterialSearchView; import com.mxn.soul.flowingdrawer_core.ElasticDrawer; @@ -34,11 +41,13 @@ import com.nightonke.boommenu.BoomButtons.OnBMClickListener; import com.nightonke.boommenu.BoomMenuButton; import com.orhanobut.logger.Logger; +import java.util.ArrayList; +import java.util.List; + import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import me.panpf.swsv.CircularLayout; -import me.panpf.swsv.SpiderWebScoreView; + public class MainActivity extends BaseActivity { @@ -58,10 +67,10 @@ public class MainActivity extends BaseActivity { CircularImageView toolbarUserAvatar; @BindView(R.id.drawer_user_avatar) CircularImageView drawerUserAvatar; - @BindView(R.id.spiderWeb_mainActivity) - SpiderWebScoreView spiderWebMainActivity; - @BindView(R.id.layout_mainActivity_circular) - CircularLayout layoutMainActivityCircular; + // @BindView(R.id.spiderWeb_mainActivity) +// SpiderWebScoreView spiderWebMainActivity; +// @BindView(R.id.layout_mainActivity_circular) +// CircularLayout layoutMainActivityCircular; // @BindView(R.id.search_button) // ImageView searchButton; @BindView(R.id.search_view) @@ -70,6 +79,8 @@ public class MainActivity extends BaseActivity { Toolbar toolBar; @BindView(R.id.boom_menu_button) BoomMenuButton boomMenuButton; + @BindView(R.id.spider_view) + RadarChart spiderView; @Override @@ -170,14 +181,63 @@ public class MainActivity extends BaseActivity { private void initSpiderView() { float[] scores = {9.1f, 5.5f, 7.7f, 8.9f, 4.6f}; String[] flags = {"糖分", "淡水", "蛋白质", "维生素", "矿物质"}; - spiderWebMainActivity.setScores(10f, scores); - layoutMainActivityCircular.removeAllViews(); - for (String flag : flags) { - TextView scoreTextView = (TextView) LayoutInflater.from(getBaseContext()).inflate(R.layout.score, - layoutMainActivityCircular, false); - scoreTextView.setText(flag); - layoutMainActivityCircular.addView(scoreTextView); + + List radarEntries = new ArrayList<>(); + for (int i = 0; i < flags.length; i++) { + RadarEntry radarEntry = new RadarEntry(scores[i], flags[i]); + radarEntries.add(radarEntry); } + + Description description = new Description(); + description.setText(""); + spiderView.setDescription(description); + + + spiderView.setWebLineWidth(1.5f); + // 内部线条宽度,外面的环状线条 + spiderView.setWebLineWidthInner(1.5f); + // 所有线条WebLine透明度 + spiderView.setWebAlpha(300); + + + Legend legend = spiderView.getLegend(); + legend.setEnabled(false); + + XAxis xAxis = spiderView.getXAxis(); + // X坐标值字体样式 + // xAxis.setTypeface(tf); + // X坐标值字体大小 + xAxis.setTextSize(8f); + ArrayList xVals = new ArrayList(); + for (String flag : flags) { + xVals.add(flag); + } + xAxis.setValueFormatter(new IndexAxisValueFormatter(xVals)); + + + YAxis yAxis = spiderView.getYAxis(); + // Y坐标值字体样式 + // yAxis.setTypeface(tf); + // Y坐标值字体大小 + yAxis.setTextSize(0f); + // Y坐标值是否从0开始 + yAxis.setStartAtZero(true); + // 是否显示y值在图表上 + yAxis.setDrawLabels(false); + yAxis.setAxisLineWidth(2f); + RadarDataSet set = new RadarDataSet(radarEntries, "体质情况"); +// set.setColor(R.color.bar_open); + set.setLineWidth(0.5f); + set.setDrawFilled(true); +// set.setFillColor(R.color.spider_view_color); +// set.resetColors(); + RadarData data = new RadarData(set); + data.setDrawValues(false); + spiderView.setData(data); + spiderView.setTouchEnabled(false); + spiderView.invalidate(); + + } /** diff --git a/app/src/main/res/drawable/monday.jpg b/app/src/main/res/drawable/monday.jpg index 8430c08..452d4dc 100644 Binary files a/app/src/main/res/drawable/monday.jpg and b/app/src/main/res/drawable/monday.jpg differ diff --git a/app/src/main/res/drawable/thursday.jpg b/app/src/main/res/drawable/thursday.jpg index 5bdb77c..fa60e1e 100644 Binary files a/app/src/main/res/drawable/thursday.jpg and b/app/src/main/res/drawable/thursday.jpg differ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 46c1144..c3f12e9 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -18,7 +18,9 @@ + android:layout_height="match_parent" + android:layout_alignParentStart="true" + android:layout_alignParentTop="true"> - + + + + + + + - + + + + + + + + + #52ec2f #9ac3f9 + #ff0000 +