溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android使用view仿支付寶月賬單

發(fā)布時(shí)間:2020-10-05 03:31:12 來源:腳本之家 閱讀:188 作者:匡效國 欄目:移動(dòng)開發(fā)

前言

昨夜同門云集推杯又換盞,今朝茶涼酒寒豪言成笑談。半生累,盡徒然,碑文完美有誰看,隱居山水之間誓與浮名散。

簡(jiǎn)介

今天給大家?guī)淼氖侵Ц秾毜脑沦~單view的實(shí)現(xiàn),看到標(biāo)題,你可能會(huì)覺得是自定義view的相關(guān)實(shí)現(xiàn),這里可能要讓你失望了,因?yàn)檫@里我們用的是github上的一個(gè)開源項(xiàng)目。

1. 效果圖

Android使用view仿支付寶月賬單

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。

Android使用view仿支付寶月賬單

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)行簡(jiǎ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í)就好。

源碼下載

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI