📜  如何在Android中创建条形图?

📅  最后修改于: 2021-05-10 17:36:05             🧑  作者: Mango

如果您正在寻找一个UI组件来以易于阅读的格式表示海量数据,那么您可以考虑以条形图或条形图的形式显示这种海量数据。借助条形图,可以轻松分析和读取数据。在本文中,我们将介绍Android中条形图的实现。

我们将在本文中构建什么?

我们将构建一个简单的应用程序,在其中将显示带有一些示例数据的条形图。下面给出了一个示例GIF,以了解我们将在本文中做些什么。注意,我们将使用Java语言实现该项目。

在Android示例GIF中创建条形图

条形图的重要属性

Attributes

Description

setData to set bar data in our bar chart.
setColors to set colors to our bar chart.
setValueTextColor to set the color for our text in the bar graph.
setValueTextSize to set text size for our value
getDescription to get the description of our bar chart. 

分步实施

步骤1:创建一个新项目

要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。

步骤2:添加依赖项和JitPack存储库

导航到Gradle脚本> build.gradle(Module:app)并将以下依赖项添加到“依赖项”部分。

将JitPack存储库添加到您的构建文件中。将其添加到allprojects {}部分中存储库末尾的根build.gradle中。

添加此依赖项后,同步您的项目,现在我们将继续执行它。

步骤3:使用activity_main.xml文件

导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。

XML


  
    
    
  


Java
import android.graphics.Color;
import android.os.Bundle;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.utils.ColorTemplate;
  
import java.util.ArrayList;
  
public class MainActivity extends AppCompatActivity {
      
    // variable for our bar chart
    BarChart barChart;
      
    // variable for our bar data.
    BarData barData;
      
    // variable for our bar data set.
    BarDataSet barDataSet;
      
    // array list for storing entries.
    ArrayList barEntriesArrayList;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // initializing variable for bar chart.
        barChart = findViewById(R.id.idBarChart);
          
        // calling method to get bar entries.
        getBarEntries();
          
        // creating a new bar data set.
        barDataSet = new BarDataSet(barEntriesArrayList, "Geeks for Geeks");
         
        // creating a new bar data and 
        // passing our bar data set.
        barData = new BarData(barDataSet);
          
        // below line is to set data 
        // to our bar chart.
        barChart.setData(barData);
          
        // adding color to our bar data set.
        barDataSet.setColors(ColorTemplate.MATERIAL_COLORS);
          
        // setting text color.
        barDataSet.setValueTextColor(Color.BLACK);
          
        // setting text size
        barDataSet.setValueTextSize(16f);
        barChart.getDescription().setEnabled(false);
    }
  
    private void getBarEntries() {
        // creating a new array list
        barEntriesArrayList = new ArrayList<>();
          
        // adding new entry to our array list with bar 
        // entry and passing x and y axis value to it.
        barEntriesArrayList.add(new BarEntry(1f, 4));
        barEntriesArrayList.add(new BarEntry(2f, 6));
        barEntriesArrayList.add(new BarEntry(3f, 8));
        barEntriesArrayList.add(new BarEntry(4f, 2));
        barEntriesArrayList.add(new BarEntry(5f, 4));
        barEntriesArrayList.add(new BarEntry(6f, 1));
    }
}


步骤4:使用MainActivity。 Java文件

转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。

Java

import android.graphics.Color;
import android.os.Bundle;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.utils.ColorTemplate;
  
import java.util.ArrayList;
  
public class MainActivity extends AppCompatActivity {
      
    // variable for our bar chart
    BarChart barChart;
      
    // variable for our bar data.
    BarData barData;
      
    // variable for our bar data set.
    BarDataSet barDataSet;
      
    // array list for storing entries.
    ArrayList barEntriesArrayList;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // initializing variable for bar chart.
        barChart = findViewById(R.id.idBarChart);
          
        // calling method to get bar entries.
        getBarEntries();
          
        // creating a new bar data set.
        barDataSet = new BarDataSet(barEntriesArrayList, "Geeks for Geeks");
         
        // creating a new bar data and 
        // passing our bar data set.
        barData = new BarData(barDataSet);
          
        // below line is to set data 
        // to our bar chart.
        barChart.setData(barData);
          
        // adding color to our bar data set.
        barDataSet.setColors(ColorTemplate.MATERIAL_COLORS);
          
        // setting text color.
        barDataSet.setValueTextColor(Color.BLACK);
          
        // setting text size
        barDataSet.setValueTextSize(16f);
        barChart.getDescription().setEnabled(false);
    }
  
    private void getBarEntries() {
        // creating a new array list
        barEntriesArrayList = new ArrayList<>();
          
        // adding new entry to our array list with bar 
        // entry and passing x and y axis value to it.
        barEntriesArrayList.add(new BarEntry(1f, 4));
        barEntriesArrayList.add(new BarEntry(2f, 6));
        barEntriesArrayList.add(new BarEntry(3f, 8));
        barEntriesArrayList.add(new BarEntry(4f, 2));
        barEntriesArrayList.add(new BarEntry(5f, 4));
        barEntriesArrayList.add(new BarEntry(6f, 1));
    }
}

现在运行您的应用程序,并查看该应用程序的输出。

输出:

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!