@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = LayoutInflater.from(getActivity()).inflate(R.layout.item_song, null); holder.mTvName = (TextView) convertView.findViewById(R.id.tv_name); holder.mTvArtist = (TextView) convertView.findViewById(R.id.tv_artist); holder.mTvDuration = (TextView) convertView.findViewById(R.id.tv_duration); holder.aboveView = convertView.findViewById(R.id.item_root); holder.behindView = convertView.findViewById(R.id.behind); convertView.setTag(holder); convertViewList.add((PullRightLayout) convertView); } else { holder = (ViewHolder) convertView.getTag(); } if (HideApplication.showListAnim) { startAnim(convertView); } SongInfo info = SongManager.with(getActivity()).getSongByIndex(position); holder.mTvName.setText(info.getTitle()); holder.mTvArtist.setText(info.getArtist() + " - " + info.getAlbum()); holder.mTvDuration.setText( CommonUtils.durationToString(info.getDuration()) + " - " + CommonUtils.getFileSize(info.getPath())); setItemSelected(holder, info.getId() == playingId); convertView.setOnClickListener(new OnItemClick(position)); holder.behindView.setOnClickListener(new OnBehindClick(position)); return convertView; }
private void setItemSelected(ViewHolder holder, boolean b) { if (b) { holder.aboveView.setBackgroundColor(ThemeManager.with(getActivity()).getCurrentColor()); holder.mTvName.setTextColor(Color.WHITE); holder.mTvArtist.setTextColor(Color.WHITE); holder.mTvDuration.setTextColor(Color.WHITE); } else { CommonUtils.setThemeBg(getActivity(), holder.aboveView, R.drawable.item_bg_no_divider); holder.mTvName.setTextColor( getActivity().getResources().getColorStateList(R.color.black_normal_white_pressed)); holder.mTvArtist.setTextColor( getActivity().getResources().getColorStateList(R.color.gray_normal_white_pressed)); holder.mTvDuration.setTextColor( getActivity().getResources().getColorStateList(R.color.gray_normal_white_pressed)); } }
private View getFooterView() { if (mFooterView == null) { FrameLayout fl = new FrameLayout(getActivity()); TextView tv = new TextView(getActivity()); tv.setGravity(Gravity.CENTER); tv.setTextColor(0xFFaaaaaa); tv.setBackgroundColor(0xFFffffff); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, (int) CommonUtils.dpToPx(getActivity(), 50)); fl.addView(tv, params); mFooterView = fl; } TextView tv = (TextView) mFooterView.getChildAt(0); tv.setText("共有" + SongManager.with(getActivity()).getSongSize() + "首歌"); return mFooterView; }