package com.example.diynsg.widget;
import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.example.diynsg.R;
/**
* Created by yz on 2017/07/20.
*/
public class MyAddDelView extends LinearLayout {
private TextView num;
private int count=1;
private OnItemClick onItemClick;
public interface OnItemClick {
public void onItemAddClick(int count);
public void onItemDelClick(int count);
}
public void setOnItemClick(OnItemClick onItemClick) {
this.onItemClick = onItemClick;
}
public MyAddDelView(Context context) {
this(context, null);
}
public MyAddDelView(final Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
LayoutInflater.from(context).inflate(R.layout.add_jian_item, this);
final TextView add = findViewById(R.id.add);
TextView del = findViewById(R.id.del);
num = findViewById(R.id.num);
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
num.setText(++count+"");
onItemClick.onItemAddClick(1);
}
});
del.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (count!=1){
count = --count;
onItemClick.onItemDelClick(-1);
}
num.setText(count >= 1 ? count + "" : 1 + "");
}
});
}
/**
* 获取商品数量
*
* @return
*/
public int getCount() {
return count;
}
public void setCount(){
count=1;
num.setText(count+"");
}
}
//item布局+ -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="20dp"
android:layout_height="20dp"
android:id="@+id/del"
android:gravity="center"
android:background="@drawable/circle_shape"
android:text="-"/>
<TextView
android:layout_width="40dp"
android:layout_height="20dp"
android:id="@+id/num"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="@drawable/circle_shape"
android:gravity="center"
android:text="1"/>
<TextView
android:id="@+id/add"
android:layout_width="20dp"
android:layout_height="20dp"
android:gravity="center"
android:background="@drawable/circle_shape"
android:text="+"/>
</LinearLayout>
//drawable文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#33000000"></stroke>
<corners android:radius="100dp"></corners>
</shape>
import android.content.Context;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.example.diynsg.R;
/**
* Created by yz on 2017/07/20.
*/
public class MyAddDelView extends LinearLayout {
private TextView num;
private int count=1;
private OnItemClick onItemClick;
public interface OnItemClick {
public void onItemAddClick(int count);
public void onItemDelClick(int count);
}
public void setOnItemClick(OnItemClick onItemClick) {
this.onItemClick = onItemClick;
}
public MyAddDelView(Context context) {
this(context, null);
}
public MyAddDelView(final Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
LayoutInflater.from(context).inflate(R.layout.add_jian_item, this);
final TextView add = findViewById(R.id.add);
TextView del = findViewById(R.id.del);
num = findViewById(R.id.num);
add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
num.setText(++count+"");
onItemClick.onItemAddClick(1);
}
});
del.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (count!=1){
count = --count;
onItemClick.onItemDelClick(-1);
}
num.setText(count >= 1 ? count + "" : 1 + "");
}
});
}
/**
* 获取商品数量
*
* @return
*/
public int getCount() {
return count;
}
public void setCount(){
count=1;
num.setText(count+"");
}
}
//item布局+ -
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:layout_width="20dp"
android:layout_height="20dp"
android:id="@+id/del"
android:gravity="center"
android:background="@drawable/circle_shape"
android:text="-"/>
<TextView
android:layout_width="40dp"
android:layout_height="20dp"
android:id="@+id/num"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="@drawable/circle_shape"
android:gravity="center"
android:text="1"/>
<TextView
android:id="@+id/add"
android:layout_width="20dp"
android:layout_height="20dp"
android:gravity="center"
android:background="@drawable/circle_shape"
android:text="+"/>
</LinearLayout>
//drawable文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#33000000"></stroke>
<corners android:radius="100dp"></corners>
</shape>