0

我正在使用 Horizo​​ntal ScrollView 来获得像侧面导航一样的 facebook

像这样:

在此处输入图像描述

但是如何在菜单中的事件项旁边显示“2”?

在我的应用程序中,我使用 ViewUtil 类来获取此菜单:

public class ViewUtils {

    private ViewUtils() {

    }

    public static void setViewWidths(View view, View[] views) {
        int w = view.getWidth();
        int h = view.getHeight();
        for (int i = 0; i < views.length; i++) {
            View v = views[i];
            v.layout((i + 1) * w, 0, (i + 2) * w, h);
            printView("view[" + i + "]", v);
        }
    }

    public static void printView(String msg, View v) {
        System.out.println(msg + "=" + v);
        if (null == v) {
            return;
        }
        System.out.print("[" + v.getLeft());
        System.out.print(", " + v.getTop());
        System.out.print(", w=" + v.getWidth());
        System.out.println(", h=" + v.getHeight() + "]");
        System.out.println("mw=" + v.getMeasuredWidth() + ", mh="
                + v.getMeasuredHeight());
        System.out.println("scroll [" + v.getScrollX() + "," + v.getScrollY()
                + "]");
    }

    public static void initListView(Context context, ListView listView,
            String prefix, int numItems, int layout) {
        // By using setAdpater method in listview we an add string array in
        // list.
        String[] arr = new String[numItems];
        arr[0] = "Feed";
        arr[1] = "Friends";
        arr[2] = "Notifications";
        arr[3] = "Feedback";
        arr[4] = "Logout";
        listView.setAdapter(new ArrayAdapter<String>(context, layout, arr));

    }
}

并在 Activity 中像这样设置适配器:

    ViewUtils.initListView(this, myListView, "Menu ", 5,
            android.R.layout.simple_list_item_1);

我的“通知”文本类似于“通知 n”,其中 n 类似于上图中的“2”。我尝试使用 Spannable String 但我无法将 Spannable String 设置为字符串数组“arr”

谢谢你

4

1 回答 1

0

我假设这些类别(新闻提要、消息、...)是ListView.
此外,为了显示“2”,我假设您需要一个自定义适配器。

在这种情况下,您只需将一个添加TextView到您的行 XML 文件并在getView()您的自定义适配器的方法中设置适当的值,或者,如果您在该getView()方法中以编程方式创建 TextView。

于 2012-08-03T07:44:58.523 回答