Java 如何在SwipMenuListView中实现menuitem周围的边框
我正在使用库com.baoyz.swipmenulistview一切正常我希望每个菜单项周围都有边框,这样即使所有菜单项背景都是白色,每个菜单项周围也会有一个灰色边框相互分隔 查看代码后,我发现这可以在以下函数中实现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
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