如果您正在寻找一个UI组件来以易于阅读的格式表示海量数据,那么您可以考虑以条形图或条形图的形式显示这种海量数据。借助条形图,可以轻松分析和读取数据。在本文中,我们将介绍Android中条形图的实现。
我们将在本文中构建什么?
我们将构建一个简单的应用程序,在其中将显示带有一些示例数据的条形图。下面给出了一个示例GIF,以了解我们将在本文中做些什么。注意,我们将使用Java语言实现该项目。
条形图的重要属性
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)并将以下依赖项添加到“依赖项”部分。
implementation ‘com.github.PhilJay:MPAndroidChart:v3.1.0’
将JitPack存储库添加到您的构建文件中。将其添加到allprojects {}部分中存储库末尾的根build.gradle中。
allprojects {
repositories {
…
maven { url “https://jitpack.io” }
}
}
添加此依赖项后,同步您的项目,现在我们将继续执行它。
步骤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));
}
}
现在运行您的应用程序,并查看该应用程序的输出。