通知下拉视图

时间:2015-08-01 09:58:55

标签: android android-layout android-notifications

我在平板电脑上构建应用程序,并且我希望实现一个通知功能,以便像操作栏下方显示的固定大小的下拉滚动视图一样显示通知列表用户。我已经在活动栏中添加了一个通知按钮,并建立了通​​知系统。

1 个答案:

答案 0 :(得分:1)

我只是想到了一个更好的方法。您应该使用ListView,然后使用TextViews填充它:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFFFFF"
    tools:context=".MainActivity">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:visibility="gone"
        android:background="#EEEEEE"
        android:id="@+id/notification_list_view"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/notification_list_view">
        <!-- Content here -->
    </LinearLayout>

</RelativeLayout>

通过将此代码放在ActionBar中按钮的onClick函数中,可以显示通知栏。然后,您可以使用ArrayAdapter动态添加项目:

private void onClick() {
    ListView notificationListView = (ListView) findViewById(R.id.notification_list_view);

    // if you don't need the notifications anymore use:
    // notificationListView.setVisibility(View.GONE);
    notificationListView.setVisibility(View.VISIBLE);

    final List<String> notificationList = new ArrayList<>();
    notificationList.add("Notification 1");
    notificationList.add("Notification 2");

    ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, android.R.id.text1, notificationList);
    notificationListView.setAdapter(adapter);
    notificationListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String chosenNotification = notificationList.get(position);
        }
    });
}

如您所见,如果有必要,您可以获得点击的通知。