繁体   English   中英

如何将徽章添加到列表

[英]How to add badge to list

我想将徽章通知添加到我的数组列表中,但是我找不到为此的教程,这是我的列表代码:

public void chatList() {
    conversationsAdapter=new ArrayAdapter<JsonObject>(this,0) {
        @Override
        public View getView(int c_position,View c_convertView,ViewGroup c_parent) {
            if (c_convertView == null) {
                c_convertView=getLayoutInflater().inflate(R.layout.random_bars,null);
            }
            JsonObject user=getItem(c_position);
            String name=user.get("name").getAsString();
            String image_url="http://domain.com/profile/thumb/"+user.get("photo").getAsString();
            TextView nameView=(TextView)c_convertView.findViewById(R.id.tweet);
            nameView.setText(name);
            ImageView imageView=(ImageView)c_convertView.findViewById(R.id.image);
            Ion.with(imageView)
            .placeholder(R.drawable.twitter)
            .load(image_url);
            return c_convertView;
        }
    };
    ListView conversationsListView = (ListView)findViewById(R.id.conversationList);
    conversationsListView.setAdapter(conversationsAdapter);
    conversationsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            startChat(conversationsAdapter.getItem(position));

        }
    });
}

我的列表:

在此处输入图片说明

我想在此列表中添加徽章。我该怎么做?

附言:我找到了一个图书馆https://github.com/jgilfelt/android-viewbadger,但我不想使用它。

在自定义列表视图中扩展布局,该列表扩展了基本适配器而不是数组适配器。 将以下布局添加到自定义列表项布局中。

drawer_list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:background="@drawable/list_selector">

    <ImageView
        android:id="@+id/icon"
        android:layout_width="25dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        android:contentDescription="@string/desc_list_item_icon"
        android:src="@drawable/ic_home"
        android:layout_centerVertical="true" />

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toRightOf="@id/icon"
        android:minHeight="?android:attr/listPreferredItemHeightSmall"
        android:textAppearance="?android:attr/textAppearanceListItemSmall"
        android:textColor="@color/list_item_title"
        android:gravity="center_vertical"
        android:paddingRight="40dp"/>

    <TextView android:id="@+id/counter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/counter_bg"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="8dp"
        android:textColor="@color/counter_text_color"/>

</RelativeLayout>

使用以下drawable作为背景textview计数器,并在textview中设置通知计数值

counter_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <!-- view background color -->
    <solid android:color="@color/counter_text_bg" >
    </solid>

    <!-- If you want to add some padding -->
    <padding
        android:right="3dp"
        android:left="3dp" >
    </padding>

    <!-- Here is the corner radius -->
    <corners android:radius="2dp" >
    </corners>

</shape> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM