在我的android应用程序中,我正在使用recyclerview创建一个类似结构的表格,该表格将显示姓名,年龄,人的位置,如下所示。
我不想为该recyclerview创建标题,名称,年龄,地点,而不是像我通常看到的那样只添加一个图例/索引(我不知道该怎么称呼)在饼图,barchart,地图等上...,以便其他人可以理解颜色指示的内容。我想要的是下面的内容。
示例1
示例2
示例3:
我不知道它是否内置在android中。我只想用一种具有效果形状的简单方法来创建它,以便我可以在我的应用程序中的任何地方使用它。 >
答案 0 :(得分:1)
嗨(^ _ ^)!将以下代码放入 recyclerview的项目布局文件中,并使用视图ID可以轻松实现功能;)
public class ShowFirebase extends AppCompatActivity {
ListView ListView;
Button Load;
String phoneNumber;
String name;
DatabaseReference databaseReference;
ArrayList<String> aa = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_firebase);
GetNumber(this.getContentResolver());
ListView = findViewById(R.id.ListView);
Load = findViewById(R.id.Next);
databaseReference = FirebaseDatabase.getInstance().getReference();
databaseReference = FirebaseDatabase.getInstance().getReference().child("users");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
ArrayList<String> numbers = new ArrayList<>();
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String number = ds.child("phone").getValue(String.class);
String name = ds.child("name").getValue(String.class);
numbers.add(number);
}
numbers.retainAll(aa);
ArrayAdapter stringArrayAdapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, numbers);
ListView.setAdapter(stringArrayAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
private void GetNumber(ContentResolver contentResolver) {
Cursor phones = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, ContactsContract.Contacts.SORT_KEY_PRIMARY + " ASC");
while (phones.moveToNext()) {
name = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
System.out.println("......." + phoneNumber);
aa.add(name + " " + phoneNumber);
}
}
==> rounded_bordeeer.xml 文件用于实现视图的四舍五入 边界
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/_10sdp"
android:weightSum="3">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/rounded_bordeeer"
android:backgroundTint="#FFC107"
android:gravity="center"
android:padding="@dimen/_4sdp"
android:text="NAME"
android:textColor="#FFFFFF"
android:textSize="@dimen/_12ssp" />
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/_5ssp"
android:background="@drawable/rounded_bordeeer"
android:backgroundTint="#FFC107"
android:gravity="center"
android:padding="@dimen/_4sdp"
android:text="JOHN"
android:textColor="#FFFFFF"
android:textSize="@dimen/_12ssp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_10ssp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/rounded_bordeeer"
android:backgroundTint="#4CAF50"
android:gravity="center"
android:padding="4dp"
android:text="AGE"
android:textColor="#FFFFFF"
android:textSize="@dimen/_12ssp" />
<TextView
android:id="@+id/age"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/_5ssp"
android:background="@drawable/rounded_bordeeer"
android:backgroundTint="#4CAF50"
android:gravity="center"
android:padding="4dp"
android:text="25"
android:textColor="#FFFFFF"
android:textSize="@dimen/_12ssp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/_10ssp"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/rounded_bordeeer"
android:backgroundTint="#03A9F4"
android:gravity="center"
android:padding="4dp"
android:text="PLACE"
android:textColor="#FFFFFF"
android:textSize="@dimen/_12ssp" />
<TextView
android:id="@+id/place"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/_5ssp"
android:background="@drawable/rounded_bordeeer"
android:backgroundTint="#03A9F4"
android:gravity="center"
android:padding="4dp"
android:text="INDIA"
android:textColor="#FFFFFF"
android:textSize="@dimen/_12ssp" />
</LinearLayout>
</LinearLayout>