工具栏菜单项间距问题

时间:2017-08-02 12:25:27

标签: android android-layout

我的Android应用中有一个工具栏,其中包含以下自定义菜单项:

<group android:checkableBehavior="single">
    <item
        android:id="@+id/todayIcon"
        android:title=""
        app:actionViewClass="com.anubavam.creatrix.modules.calendar.view.TodayMenuTextView"
        app:showAsAction="always" />

</group>

我使用以下方法自定义菜单项:

app:actionViewClass="com.anubavam.creatrix.modules.calendar.view.TodayMenuTextView

这是我的TodayMenuTextView课程:

public class TodayMenuTextView extends android.support.v7.widget.AppCompatTextView {
    public TodayMenuTextView(Context context) {
        super(context);
        init();
    }

    public TodayMenuTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public TodayMenuTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {
        setBackground(ContextCompat.getDrawable(getContext(), R.drawable.ic_go_to_today));
        setMaxLines(1);
        setFilters(new InputFilter[]{new InputFilter.LengthFilter(1)});
        setTextColor(Color.WHITE);
        setPadding(0, 10, 0, 0);
        setGravity(Gravity.CENTER);
        setTextSize(12);
        requestLayout();
    }
}

这是我的输出:

enter image description here

我的菜单项位于工具栏的右侧。菜单项单击也不起作用。

如何添加右边距的菜单项并解决点击问题?

1 个答案:

答案 0 :(得分:0)

将LayoutParams设置为菜单项

  LayoutParams params = new LayoutParams(
    LayoutParams.WRAP_CONTENT,      
    LayoutParams.WRAP_CONTENT
   );
 params.setMargins(left, top, right, bottom);
 yourImageBiew.setLayoutParams(params);