Toolbar menu item spacing option

I have a toolbar in an Android app with a custom menu item:

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

</group>

I am customizing a menu item using:

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

This is my class 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();
    }
}

This is my conclusion:

enter image description here

My menu item is to the right of the toolbar. Also, clicking on a menu item does not work.

How to add a menu item to the correct field and solve a click problem?

+4
source share
1 answer

set LayoutParams to the menu item

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

Source: https://habr.com/ru/post/1682851/


All Articles