前言
昨夜同門云集推杯又換盞,今朝茶涼酒寒豪言成笑談。半生累,盡徒然,碑文完美有誰看,隱居山水之間誓與浮名散。
簡介
今天給大家?guī)淼氖?a href="/pc/softtech/shouji/240439.html">支付寶的月賬單view的實(shí)現(xiàn),看到標(biāo)題,你可能會(huì)覺得是自定義view的相關(guān)實(shí)現(xiàn),這里可能要讓你失望了,因?yàn)檫@里我們用的是github上的一個(gè)開源項(xiàng)目。
1. 效果圖

2. MPAndroidChart
我們用的是MPAndroidChart打開鏈接來實(shí)現(xiàn)的效果,它可以實(shí)現(xiàn)柱狀圖,餅狀圖等。
使用方法
1. 添加依賴
你可以選擇在build.gradle中添加依賴。
dependencies { compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'}2. 引入library
當(dāng)然也可以選擇引入library。

3. xml引用
activity_main.xml
<com.github.mikephil.charting.charts.PieChart android:id="@+id/chart_view" android:layout_width="300dp" android:layout_height="300dp" android:layout_centerInParent="true" />
4. MainActivity
public class MainActivity extends AppCompatActivity { private static final float TEXT_SIZE = 18; private PieChart mPieChart; private List<MonthData> mMonthData; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mPieChart = (PieChart) findViewById(R.id.chart_view); initData(); initPieData(); } private void initData() { mMonthData = new ArrayList<>(); MonthData playing = new MonthData(); playing.setLabel("娛樂"); playing.setValue(213); MonthData pay = new MonthData(); pay.setLabel("消費(fèi)"); pay.setValue(239); MonthData shopping = new MonthData(); shopping.setLabel("網(wǎng)購"); shopping.setValue(682); MonthData mobile = new MonthData(); mobile.setLabel("線下"); mobile.setValue(100); mMonthData.add(playing); mMonthData.add(pay); mMonthData.add(shopping); mMonthData.add(mobile); } private void initPieData() { PieData mPieData = new PieData(); List<PieEntry> mEntry = new ArrayList<>(); String mLabel = "其他"; for (MonthData monthData : mMonthData) { PieEntry entry = new PieEntry(monthData.getValue(), monthData.getLabel()); mEntry.add(entry); } PieDataSet mDataSet = new PieDataSet(mEntry, mLabel); mDataSet.setColors(Color.rgb(60, 179, 113), Color.rgb(255, 69, 0), Color.rgb(255, 185, 15), Color.rgb(30, 144, 255)); mPieData.setDataSet(mDataSet); mPieData.setValueTextSize(TEXT_SIZE); mPieData.setValueTextColor(Color.WHITE); mPieChart.setDescription(new Description()); mPieChart.setData(mPieData); }}這里,MonthData是我們自己定義的model,而initPieData()方法中的類都是用的MPAndroidChart中提供的,然后我們?cè)龠M(jìn)行簡單的封裝,并用其提供的api顯示view。
5. MonthData
封裝的model
public class MonthData { private String label; private float value; public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public float getValue() { return value; } public void setValue(float value) { this.value = value; }}總結(jié)
對(duì)于本次view的實(shí)現(xiàn),雖然我們自己的東西很少,但至少可以讓我們有所提高,做出來總比做不出來的好,也希望你能和我一樣,每天提高一點(diǎn),不為別的,充實(shí)就好。
源碼下載
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注