首页 > 移动平台 > 详细

android 标签view

时间:2016-02-16 14:45:17      阅读:282      评论:0      收藏:0      [点我收藏+]
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.sensu.android.zimaogou.Mode.TravelTagMode;
import com.sensu.android.zimaogou.R;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by qi.yang on 2015/12/23.
 */
public class MyTagListView extends FlowLayout {

    private List<TravelTagMode> mTravelTagModes = new ArrayList<TravelTagMode>();

    public MyTagListView(Context context) {
        super(context);
    }

    public MyTagListView(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
    }

    public MyTagListView(Context context, AttributeSet attributeSet, int defStyle) {
        super(context, attributeSet, defStyle);
    }

    public void setTravelTagModes(List<? extends TravelTagMode> lists) {
        setTravelTagModes(lists, false);
    }

    public void setTravelTagModes(List<? extends TravelTagMode> lists, boolean b) {
        removeAllViews();
        mTravelTagModes.clear();
        for (int i = 0; i < lists.size(); i++) {
            addTravelTagMode((TravelTagMode) lists.get(i), b);
        }
    }

    public void addTravelTagMode(TravelTagMode travelTagMode, boolean b) {
        mTravelTagModes.add(travelTagMode);
        inflateTravelTagModeView(travelTagMode, b);
    }

    private void inflateTravelTagModeView(TravelTagMode t, boolean b) {
        View localTravelTagModeView = View.inflate(getContext(),
                R.layout.travel_tag_list_item, null);
        final LinearLayout ll_tag = (LinearLayout) localTravelTagModeView.findViewById(R.id.food_layout);
        final TextView tv_title = (TextView) localTravelTagModeView.findViewById(R.id.food_text);
        final ImageView img_tag = (ImageView) localTravelTagModeView.findViewById(R.id.food_select);
        tv_title.setText(t.getName());
        ll_tag.setTag(t);
        ll_tag.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                TravelTagMode tagMode = (TravelTagMode) ll_tag.getTag();
                if (tagMode.isCheck()) {
                    ll_tag.setSelected(false);
                    tv_title.setSelected(false);
                    img_tag.setVisibility(View.GONE);
                    tagMode.setCheck(!tagMode.isCheck());
                } else {
                    ll_tag.setSelected(true);
                    tv_title.setSelected(true);
                    img_tag.setVisibility(View.VISIBLE);
                    tagMode.setCheck(!tagMode.isCheck());
                }
            }
        });

        addView(localTravelTagModeView);
    }
}

 

android 标签view

原文:http://www.cnblogs.com/yangqi0226/p/5192496.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!