我的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();
}
}
这是我的输出:
我的菜单项位于工具栏的右侧。菜单项单击也不起作用。
如何添加右边距的菜单项并解决点击问题?
答案 0 :(得分:0)
将LayoutParams设置为菜单项
LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
params.setMargins(left, top, right, bottom);
yourImageBiew.setLayoutParams(params);