【问题标题】:List view customization in androidandroid中的列表视图自定义
【发布时间】:2014-02-19 13:05:44
【问题描述】:

我正在制作一个安卓应用程序。我想制作如上图所示的列表视图。在这个 Listview 中,我使用 JSON Web 服务从数据库中获取 Items 值,以及如何更改 List-view Items 边框颜色和背景图像。项目 1、3、5、7、9 = 相同颜色和相同背景,列表视图项目 2、4、6、8、10 = 相同颜色和相同背景。我能怎么做。请帮帮我。

【问题讨论】:

  • 可能类似于this post
  • 你能不能把你的 getView() 方法给我编辑一下?

标签: java android android-layout android-listview


【解决方案1】:

或许本教程可以帮到你:android.amberfog.com

只有 2 种类型的项目:在 getView 中您所做的几乎相同,在教程中,但是,您设置列表项而不是分隔符。 HTH。

【讨论】:

    【解决方案2】:

    我假设您知道如何使用虚线编写 xml 文件。问我你是否需要知道怎么做。

    1. 使用两个单独的背景 xml 文件:background_yellow_stroke.xml 和 background_back_stroke.xml 将它们放在一个新的 res 文件夹中并命名为:colors
    2. 在适配器的 getView() 方法中:使用 mod (%) 操作数来确定您的位置是偶数还是奇数。

    公共类 MyCustomAdapter 扩展 ArrayAdapter { 私有列表数据; 私人活动上下文;

    public NoteArrayAdapter(Activity context, int resID,
            List<Note> data) {
        super(context, resID);
        this.data = data;
        this.context = context;
    }
    
    @Override
    public int getCount() {
        return data.size();
    }
    
    @Override
    public boolean isEmpty() {
        return data.size() == 0;
    }
    
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convetView == null) {
            LayoutInflater inflater = context.getLayoutInflater();
            convertView= inflater.inflate(R.layout.custom_list_item, parent, false);
        }
    
        if (position % 2 == 0) {
                convertView.setBackgroundResource(R.colors.background_yellow_stroke.xml )
           } 
        else
           {
               convertView.setBackgroundResource(R.colors.background_black_stroke.xml )
           }
    
        return convertView;
    }
    

    }

    完成。

    【讨论】:

    • 我怎样才能把剪刀放在虚线的右上方。
    • @Amardeep:这是一个完整的问题,但我会在这里回答:使用两个布局,将笔划放在内部布局并使用 layout_margin ,将 sissor 放在右上角外部布局(使用相对布局),你很高兴:)
    猜你喜欢
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多