单选与多选

先上图看效果:

 

首先是Activity布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/app_bg_gray2"
    android:orientation="vertical">

    <Button
        android:id="@+id/bt_submission_evaluate"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dimen_50dp"
        android:text="提交评价"
        android:textColor="@color/white"
        android:background="@color/app_button"
        android:layout_alignParentBottom="true"

        />
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="@dimen/dimen_80dp"
        >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/white"
        android:orientation="vertical"
        android:gravity="center"
        android:padding="@dimen/dimen_10dp"
        android:layout_marginTop="@dimen/dimen_10dp"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:text="您对本次教学还满意吗?" />
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"

            >


            <com.itheima.roundedimageview.RoundedImageView
                android:id="@+id/user_icon"
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:layout_centerInParent="true"
                android:layout_centerVertical="true"
                android:layout_marginLeft="@dimen/dp_16"
                android:scaleType="fitXY"
                android:src="@drawable/icon_default_head"
                app:riv_oval="true"
                />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="@dimen/dimen_60dp"
            android:text="王大大教练"
            android:textSize="@dimen/dimen_11sp"
            android:textColor="@color/white"
            android:background="@drawable/shape_school_username"/>
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/dimen_40dp"

            >

            <TextView
                android:id="@+id/tv_year1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="教龄"
                android:layout_marginBottom="@dimen/dimen_10dp"
                android:textColor="@color/tc_gray_3"
                android:layout_marginLeft="@dimen/dimen_80dp"

                />
            <TextView
                android:id="@+id/tv_number2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="累计服务学员"
                android:layout_marginBottom="@dimen/dimen_10dp"
                android:textColor="@color/tc_gray_3"
                android:layout_alignParentRight="true"
                android:layout_marginRight="@dimen/dimen_80dp"

                />

            <TextView
                android:id="@+id/tv_year"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/tv_year1"
                android:text="8年"
                android:textColor="@color/tc_gray_3"
                android:layout_marginLeft="85dp"

                />
            <TextView
                android:id="@+id/tv_number"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/tv_number2"
                android:text="100人"
                android:textColor="@color/tc_gray_3"
                android:layout_alignParentRight="true"
                android:layout_marginRight="100dp"

                />


        </RelativeLayout>

    </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:background="@color/white"
                android:padding="@dimen/dimen_10dp"
                android:layout_marginTop="@dimen/dimen_10dp"
                >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"


        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="整体评价"

            />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/dimen_30dp"
            android:orientation="vertical"
            >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"

                >

                <LinearLayout
                    android:id="@+id/linear_1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"

                    >

                    <ImageView
                        android:id="@+id/img_1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:background="@drawable/diamond_seleted_img1"
                         />

                    <TextView
                        android:id="@+id/tv_1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="美美哒"
                        android:layout_marginLeft="@dimen/dimen_5dp"
                        android:textSize="@dimen/dimen_13sp" />


                </LinearLayout>

                <LinearLayout
                    android:id="@+id/linear_2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"

                    >

                    <ImageView
                        android:id="@+id/img_2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:layout_alignParentRight="true"
                        android:background="@drawable/diamond_seleted_img2"
                        />

                    <TextView
                        android:id="@+id/tv_2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="一般般"
                        android:layout_marginLeft="@dimen/dimen_5dp"
                        android:textSize="@dimen/dimen_13sp" />

                </LinearLayout>

                <LinearLayout
                    android:id="@+id/linear_3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    >

                    <ImageView
                        android:id="@+id/img_3"
                        android:layout_gravity="center"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:background="@drawable/diamond_seleted_img3"
                        />

                    <TextView
                        android:id="@+id/tv_3"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="愤怒"
                        android:layout_marginLeft="@dimen/dimen_5dp"
                        android:textSize="@dimen/dimen_13sp" />

                </LinearLayout>

            </LinearLayout>


        </LinearLayout>

    </LinearLayout>

                <com.dyh.library.widget.AutoHeightGridView
                    android:id="@+id/gv_many"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="40dp"
                    android:layout_marginLeft="80dp"
                    android:layout_marginRight="40dp"
                    android:layout_marginTop="40dp"
                    android:horizontalSpacing="25dp"
                    android:listSelector="@color/transparent"
                    android:numColumns="2"
                    android:verticalSpacing="15dp"
                    >

                </com.dyh.library.widget.AutoHeightGridView>
            </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:orientation="vertical"
        android:background="@color/white"
        android:layout_marginTop="@dimen/dimen_10dp"
        >

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@null"
            android:textSize="@dimen/dimen_14sp"
            android:hint="其他想说的..."
            android:layout_marginLeft="@dimen/dimen_10dp"
            android:layout_marginTop="@dimen/dimen_40dp"
            android:cursorVisible="false"
            />

    </LinearLayout>


        </LinearLayout>
    </ScrollView>
</RelativeLayout>

 

 

这是Activity的:

package com.dyh.drivingschool.ui.school;

import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.view.Display;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.dyh.drivingschool.R;
import com.dyh.drivingschool.ui.school.adapter.MyAdapter;
import com.dyh.drivingschool.ui.school.customclass.MailboxPaperDialog;
import com.dyh.library.base.TitleFragmentActivity;
import com.dyh.library.widget.AutoHeightGridView;
import com.itheima.roundedimageview.RoundedImageView;

import java.util.ArrayList;

import static com.dyh.drivingschool.R.id.img_1;
import static com.dyh.drivingschool.R.id.img_2;
import static com.dyh.drivingschool.R.id.img_3;

/**
 * Created by ljg on 2018/7/12.
 * 教练评价
 */


public class SchoolEvaluateActivity extends TitleFragmentActivity implements View.OnClickListener {
    private ImageView mImg1;
    private ImageView mImg2;
    private ImageView mImg3;
    private TextView mTv1;
    private TextView mTv2;
    private TextView mTv3;
    private LinearLayout mLinear1;
    private LinearLayout mLinear2;
    private LinearLayout mLinear3;
    private MailboxPaperDialog paperDialog;

    private RoundedImageView mUser_icon;        // 头像图片
    private TextView mTv_year;          // 几年教龄
    private TextView mTv_number;       // 服务多少学员
    private Button mBt_submission_evaluate;       // 提交评论按钮
    private AutoHeightGridView mGv_many;       // 提交评论按钮

    private MyAdapter adapter;
    private ArrayList<String> mList;
    private Context mContext;
    //用来存放选中的item
    private ArrayList<Integer> list;
    private ArrayList<String> mList2;//用来存放选中的数据
    private Handler handler = new Handler();
    private int a = 3;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addLayout(R.layout.activity_school_evaluate);
        mContext = this;

        initView();
        initAdapter();
        initData();


    }


    private void initData() {


    }


    private void initAdapter() {

    }

    private void initView() {

        mImg1 = (ImageView) findViewById(img_1);
        mImg2 = (ImageView) findViewById(img_2);
        mImg3 = (ImageView) findViewById(img_3);
        mTv1 = (TextView) findViewById(R.id.tv_1);
        mTv2 = (TextView) findViewById(R.id.tv_2);
        mTv3 = (TextView) findViewById(R.id.tv_3);
        mLinear1 = (LinearLayout) findViewById(R.id.linear_1);
        mLinear2 = (LinearLayout) findViewById(R.id.linear_2);
        mLinear3 = (LinearLayout) findViewById(R.id.linear_3);

        mUser_icon = (RoundedImageView) findViewById(R.id.user_icon);
        mTv_year = (TextView) findViewById(R.id.tv_year);
        mTv_number = (TextView) findViewById(R.id.tv_number);
        mBt_submission_evaluate = (Button) findViewById(R.id.bt_submission_evaluate);
        mGv_many = (AutoHeightGridView) findViewById(R.id.gv_many);

        mLinear1.setOnClickListener(this);
        mLinear2.setOnClickListener(this);
        mLinear3.setOnClickListener(this);
        mBt_submission_evaluate.setOnClickListener(this);


        mList = new ArrayList<String>();
        list = new ArrayList<Integer>();
        mList2 = new ArrayList<String>();
        //添加假数据
        for (int i = 0; i < 7; i++) {
            mList.add("耐心负责");
        }

        adapter = new MyAdapter(mList, list, mContext);
        mGv_many.setAdapter(adapter);
        mGv_many.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String name = mList.get(position);
                if (list.contains(position)) {
                    for (int i = 0; i < list.size(); i++) {
                        if (position == list.get(i)) {
                            list.remove(i);
                            mList2.remove(name);
//                            //可把获取到的字段作为参数传递
//                            Toast.makeText(mContext, "你取消选择了" + name + ",第" + (position + 1) + "个item",
//                                    Toast.LENGTH_SHORT).show();
                        }
                    }

                } else {
                    list.add(position);
                    //保存选中的数据
                    mList2.add(name);
//                    //可把获取到的字段作为参数传递
//                    Toast.makeText(mContext, "你选择了" + name + ",第" + (position + 1) + "个item",
//                            Toast.LENGTH_SHORT).show();
                }
                adapter.notifyDataSetChanged();

            }
        });


    }

    @Override
    protected void initTitileBar() {
        titleLayout.showCenterLeftIconView("教练评价");
    }


    @Override
    public void onClick(View v) {

        switch (v.getId()) {

            case R.id.linear_1:

                mImg1.setSelected(true);
                mImg2.setSelected(false);
                mImg3.setSelected(false);
                mTv1.setTextColor(Color.parseColor("#00a0e9"));
                mTv2.setTextColor(Color.parseColor("#666666"));
                mTv3.setTextColor(Color.parseColor("#666666"));

                break;
            case R.id.linear_2:

                mImg1.setSelected(false);
                mImg2.setSelected(true);
                mImg3.setSelected(false);
                mTv1.setTextColor(Color.parseColor("#666666"));
                mTv2.setTextColor(Color.parseColor("#00a0e9"));
                mTv3.setTextColor(Color.parseColor("#666666"));

                break;
            case R.id.linear_3:

                mImg1.setSelected(false);
                mImg2.setSelected(false);
                mImg3.setSelected(true);
                mTv1.setTextColor(Color.parseColor("#666666"));
                mTv2.setTextColor(Color.parseColor("#666666"));
                mTv3.setTextColor(Color.parseColor("#00a0e9"));

                break;
            case R.id.bt_submission_evaluate:

                showlDialog();
                handler.postDelayed(runnable, 1000);

                break;


        }

    }


    Runnable runnable = new Runnable() {
        @Override
        public void run() {

            a--;
            if (a == 1) {
                handler.postDelayed(runnable, 1000);
                paperDialog.dismiss();
            } else {
                handler.postDelayed(runnable, 1000);
            }
        }
    };

    private void showlDialog() {
        paperDialog = new MailboxPaperDialog(SchoolEvaluateActivity.this, R.style.AlertDialogCustom);
        paperDialog.createDialog();

        // 将对话框的大小按屏幕大小的百分比设置
        WindowManager windowManager = getWindowManager();
        Display display = windowManager.getDefaultDisplay();
        WindowManager.LayoutParams lp = paperDialog.getWindow().getAttributes();
        lp.width = (int) (display.getWidth() * 0.8); //设置宽度
        paperDialog.getWindow().setAttributes(lp);
        paperDialog.getWindow().setDimAmount(0.2f);//设置弹出后的遮罩透明度
        paperDialog.setCanceledOnTouchOutside(true);//点击外部取消
        Window window = paperDialog.getWindow();
        window.setBackgroundDrawableResource(R.drawable.shape_bu_yuanjiao);
        paperDialog.show();


    }
}

 

这是Adapter:

package com.dyh.drivingschool.ui.school.adapter;

/**
 * Created by ljg on 2018/7/13.
 */
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.dyh.drivingschool.R;
import java.util.ArrayList;
public class MyAdapter extends BaseAdapter {
    private ArrayList<String> mList;//数据集合
    private ArrayList<Integer> list;//位置集合
    private Context mContext;
    public MyAdapter(ArrayList<String> mList,ArrayList<Integer> list,Context mContext) {
        super();
        this.mList = mList;
        this.list = list;
        this.mContext = mContext;
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return mList.size();
    }
    @Override
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return arg0;
    }
    @Override
    public View getView(int position, View arg1, ViewGroup arg2) {
        // TODO Auto-generated method stub
        View view = View.inflate(mContext, R.layout.gridview_item,null);
        TextView tv = (TextView) view.findViewById(R.id.textView1);
        RelativeLayout layout = (RelativeLayout) view.findViewById(R.id.rl_layout);
        tv.setText(mList.get(position));
        //选中时,改变背景色,索引要一致
        for (int i = 0; i < list.size(); i++) {
            if(position==list.get(i)){
                layout.setBackgroundResource(R.drawable.bg_selected);
            }
        }
        return view;
    }
}



这是布局中Imageview的选中状态:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/select_true_img" android:state_selected="true"/>
    <item android:drawable="@drawable/select_false_img" android:state_selected="false"/>

</selector>

这个是适配器的选中效果布局

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <stroke
        android:width="@dimen/dimen_0.5dp"
        android:color="@color/color_school_name" />
    
    <corners android:radius="5dp"/>

    <padding
        android:bottom="3dp"
        android:left="10dp"
        android:right="10dp"
        android:top="3dp" />

    <solid android:color="@color/app_school_def" />

</shape>

 

这是adapter的item布局:

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/rl_layout"
    android:background="@drawable/bg_default"
    >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textSize="@dimen/dimen_14sp"
        android:text="TextView" />

</RelativeLayout>

 

不喜勿喷,有更好的欢迎分享!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@删库跑路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值