Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在SwipMenuListView中实现menuitem周围的边框_Java_Android - Fatal编程技术网

Java 如何在SwipMenuListView中实现menuitem周围的边框

Java 如何在SwipMenuListView中实现menuitem周围的边框,java,android,Java,Android,我正在使用库com.baoyz.swipmenulistview一切正常我希望每个菜单项周围都有边框,这样即使所有菜单项背景都是白色,每个菜单项周围也会有一个灰色边框相互分隔 查看代码后,我发现这可以在以下函数中实现 private void addItem(SwipeMenuItem item, int id) { LayoutParams params = new LayoutParams(item.getWidth(), LayoutParams.MATCH

我正在使用库com.baoyz.swipmenulistview一切正常我希望每个菜单项周围都有边框,这样即使所有菜单项背景都是白色,每个菜单项周围也会有一个灰色边框相互分隔

查看代码后,我发现这可以在以下函数中实现

private void addItem(SwipeMenuItem item, int id) {
    LayoutParams params = new LayoutParams(item.getWidth(),
            LayoutParams.MATCH_PARENT);
    LinearLayout parent = new LinearLayout(getContext());
    parent.setId(id);
    parent.setGravity(Gravity.CENTER);
    parent.setOrientation(LinearLayout.VERTICAL);
    parent.setShowDividers(LinearLayout.SHOW_DIVIDER_BEGINNING);
    parent.setLayoutParams(params);
    parent.setBackgroundDrawable(item.getBackground());
    parent.setOnClickListener(this);
    addView(parent);

    if (item.getIcon() != null) {
        parent.addView(createIcon(item));
    }
    if (!TextUtils.isEmpty(item.getTitle())) {
        parent.addView(createTitle(item));
    }

}
由于我是android world的新手,我无法找到在菜单项周围画边框的方法。在能够绘制边界的LinearLayout中查找哪个函数/方法。或者如何绘制边框,如图所示

Ide:AndroidStudio 2.2.3

链接至图书馆:

更新

我已经在函数中添加了GradeintDrawable,现在边框已经存在,但是在这里我无法传递项。getBackground将返回(Drawable)。如何设置GradientDrawable.setColor(int-color)带有项。getBackground将返回可绘制的

private void addItem(SwipeMenuItem item, int id) {
    LayoutParams params = new LayoutParams(item.getWidth(),
            LayoutParams.MATCH_PARENT);



    GradientDrawable drawable = new GradientDrawable();
    drawable.setShape(GradientDrawable.RECTANGLE);
    drawable.setStroke(1, Color.BLACK);
    drawable.setCornerRadius(1);

    //drawable.setColor(Color.GRAY); here i have to pass item.getBackground();

     //like :
       drawable.setColor(item.getBackground); //error because getBackground is of type drawable;


    LinearLayout parent = new LinearLayout(getContext());
    parent.setId(id);
    parent.setGravity(Gravity.CENTER);
    parent.setOrientation(LinearLayout.HORIZONTAL);
    parent.setLayoutParams(params);
    //parent.setBackgroundDrawable(item.getBackground());
    parent.setBackgroundDrawable(drawable);
    parent.setOnClickListener(this);
    addView(parent);

    if (item.getIcon() != null) {
        parent.addView(createIcon(item));
    }
    if (!TextUtils.isEmpty(item.getTitle())) {
        parent.addView(createTitle(item));
    }

}

我不是一个android开发者,但通常在JavaSwing中,例如,我只会添加一个带有灰色fg颜色的画布/面板。然后在面板上添加我想要的项目。具有比面板更小的宽度和高度。这会让它感觉像是一个边界。“也许有人有更好的解决办法?”Simplemind先生说,“我快找到解决办法了。”。唯一的障碍是如何将Drawable传递到GradientDrawable.setColor