Создать CustomView:
package com.android4dev.navigationview;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ImageView;
/**
* Created by 77930 on 2016/1/24.
*/
public class MyView extends ImageView {
public interface OnAreaClickListener{
public void onLeftClick(MyView view);
public void onRightClick(MyView view);
}
public OnAreaClickListener listener;
public OnAreaClickListener getListener() {
return listener;
}
public void setListener(OnAreaClickListener listener) {
this.listener = listener;
}
public MyView(Context context) {
super(context);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
if(event.getX() < getWidth()/3){
if(listener!=null) listener.onLeftClick(MyView.this);
}else if(event.getX() > getWidth()/3){
if(listener!=null) listener.onRightClick(MyView.this);
}
}
return super.onTouchEvent(event);
}
}
Добавить в макете:
<com.android4dev.navigationview.MyView
android:id="@+id/btn_all"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:src="@mipmap/ic_launcher"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Bind Нажмите:
MyView myView = (MyView)findViewById(R.id.btn_all);
myView.setListener(new MyView.OnAreaClickListener() {
@Override
public void onLeftClick(MyView view) {
}
@Override
public void onRightClick(MyView view) {
}
});
Ладно, так что изображение работает. Хотя фон «@null» недействителен, вместо этого я использовал прозрачный цвет. Теперь по какой-то причине изображение слишком далеко влево, а также текст не появляется. Я установил высоту и ширину до 50dp каждый. [ссылка] (http://i.imgur.com/rB2oxgt.png) – Axiom
Также, установив ширину на «wrap_content». Изображение становится очень большим. Также текст очень далек от фактического изображения. Также мне удалось сдвинуть кнопку ближе к краю, установив отступ до -15dp для каждой кнопки. Хотя все же изображение очень велико. – Axiom
[updated_image] (http://i.imgur.com/mJbt7Oo.png) – Axiom