首页布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<ImageView
android:id="@+id/sys"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_margin="5dp"
android:src="@drawable/sys" />
<android.support.v7.widget.SearchView
android:id="@+id/search"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:background="@drawable/shape"></android.support.v7.widget.SearchView>
<ImageView
android:id="@+id/btn_menu"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_margin="10dp"
android:src="@drawable/menu" />
</LinearLayout>
<GridView
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"></GridView>
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"></com.youth.banner.Banner>
<android.support.v7.widget.RecyclerView
android:id="@+id/recy_show"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4"></android.support.v7.widget.RecyclerView>
购物车主布局
<ExpandableListView
android:id="@+id/ex_listView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<CheckBox
android:id="@+id/all_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="全选" />
<TextView
android:id="@+id/all_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="总价:¥0.00"
android:textSize="18sp" />
<Button
android:id="@+id/jiesuan_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="结算" />
</LinearLayout>
商品布局—child_item
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:id="@+id/child_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
<ImageView
android:id="@+id/child_image"
android:layout_width="100dp"
android:layout_height="100dp"
android:padding="10dp"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/child_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="15dp"
android:text="jhsjhdsk"
android:textSize="17sp" />
<TextView
android:id="@+id/child_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:text="¥0.0" />
</LinearLayout>
<com.example.lg.lxyk04_1220.MyAddSub
android:id="@+id/add_sub"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center_vertical"></com.example.lg.lxyk04_1220.MyAddSub>
商家布局–parent_item
<CheckBox
android:id="@+id/box_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<TextView
android:id="@+id/text_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="商家"
android:textSize="20sp" />
商品条目
<ImageView
android:id="@+id/img_icon"
android:layout_width="120dp"
android:layout_height="120dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="120dp">
<TextView
android:id="@+id/txt_name"
android:text="详情"
android:textSize="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txt_price"
android:text="价格"
android:textSize="25dp"
android:textColor="#f00"
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
加减布局—add_sub_item
<TextView
android:id="@+id/sub_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-"
android:textSize="20sp" />
<TextView
android:id="@+id/num_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1"
android:textSize="20sp" />
<TextView
android:id="@+id/add_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+"
android:textSize="20sp" />
ZXing布局
<cn.bingoogolapple.qrcode.zxing.ZXingView
android:id="@+id/zbarview"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:qrcv_animTime="1000"
app:qrcv_borderColor="@android:color/white"
app:qrcv_borderSize="1dp"
app:qrcv_cornerColor="@color/colorPrimaryDark"
app:qrcv_cornerLength="20dp"
app:qrcv_cornerSize="3dp"
app:qrcv_isShowDefaultScanLineDrawable="true"
app:qrcv_maskColor="#33FFFFFF"
app:qrcv_rectWidth="200dp"
app:qrcv_scanLineColor="@color/colorPrimaryDark"
app:qrcv_topOffset="90dp" />
shape.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#e1dcdc" />
<stroke
android:width="1dp"
android:color="#181616" />
<corners
android:bottomLeftRadius="45dp"
android:bottomRightRadius="45dp"
android:radius="50dp"
android:topLeftRadius="45dp"
android:topRightRadius="45dp" />
</shape>
自定义View–MyAddSub
public class MyAddSub extends LinearLayout implements View.OnClickListener {
private TextView addText;
private TextView subText;
private TextView numText;
private int number = 1;
public MyAddSub(Context context) {
this(context, null);
}
public MyAddSub(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public MyAddSub(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
View view = inflate(context, R.layout.add_sub_item, this);
addText = view.findViewById(R.id.add_text);
subText = view.findViewById(R.id.sub_text);
numText = view.findViewById(R.id.num_text);
addText.setOnClickListener(this);
subText.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.add_text:
++number;
numText.setText(number + "");
if (mOnNumberChangeInterface != null) {
mOnNumberChangeInterface.onNumberChang(number);
}
break;
case R.id.sub_text:
//判断如果数字比1大就减,比1小就吐司
if (number > 1) {
--number;
numText.setText(number + "");
if (mOnNumberChangeInterface != null) {
mOnNumberChangeInterface.onNumberChang(number);
}
} else {
Toast.makeText(getContext(), "不能再少了", Toast.LENGTH_SHORT).show();
}
break;
}
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
numText.setText(number + "");
}
//创建接口
public interface OnNumberChangeInterface {
void onNumberChang(int num);
}
//声明接口名
private OnNumberChangeInterface mOnNumberChangeInterface;
//暴露方法
public void setOnNumberChangeInterface(OnNumberChangeInterface onNumberChangeInterface) {
mOnNumberChangeInterface = onNumberChangeInterface;
}
}