Android使用view仿支付寶月賬單
前言
昨夜同門云集推杯又換盞,今朝茶涼酒寒豪言成笑談。半生累,盡徒然,碑文完美有誰看,隱居山水之間誓與浮名散。
簡介
今天給大家?guī)淼氖侵Ц秾毜脑沦~單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中提供的,然后我們再進(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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android車載空調(diào)系統(tǒng)(HVAC)開發(fā)方法分析
HVAC?全稱:供暖通風(fēng)與空氣調(diào)節(jié)(Heating?Ventilation?and?Air?Conditioning),用戶可以通過他來控制整個(gè)汽車的空調(diào)系統(tǒng),是汽車中非常重要的一個(gè)功能,汽車的空調(diào)HMI雖然并不復(fù)雜,但是大多都是用符號(hào)來表示功能,必須理解空調(diào)的各個(gè)符號(hào)表示的含義2023-12-12
Android LayoutInflater.inflate源碼分析
這篇文章主要介紹了Android LayoutInflater.inflate源碼分析的相關(guān)資料,需要的朋友可以參考下2016-12-12
Android ListView自定義Adapter實(shí)現(xiàn)仿QQ界面
這篇文章主要為大家詳細(xì)介紹了ListView自定義Adapter實(shí)現(xiàn)仿QQ界面,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
Android 判斷日期是否在一年以內(nèi)的算法實(shí)例
下面小編就為大家?guī)硪黄狝ndroid 判斷日期是否在一年以內(nèi)的算法實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04
PopupWindow+RecyclerView實(shí)現(xiàn)上下滑動(dòng)框功能
這篇文章主要為大家詳細(xì)介紹了PopupWindow+RecyclerView實(shí)現(xiàn)上下滑動(dòng)框功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Kotlin開發(fā)的一些實(shí)用小技巧總結(jié)
Kotlin 是一個(gè)基于 JVM 的新編程語言,用 JetBrains 的話來說是「更現(xiàn)代化、更強(qiáng)大,所以下面這篇文章主要給大家總結(jié)介紹了關(guān)于Kotlin的一些開發(fā)實(shí)用小技巧,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10

