默认选中推荐类型:
需要自定义adapter:
package com.cmge.news; import java.util.List; import java.util.Map; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.SimpleAdapter; import android.widget.TextView; public class CustomSimplerAdapter extends SimpleAdapter{ public CustomSimplerAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) { super(context, data, resource, from, to); } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); if(position == 0){ TextView categoryView = (TextView)view; categoryView.setBackgroundColor(categoryView.getResources().getColor(R.color.select_category)); categoryView.setTextColor(categoryView.getResources().getColor(R.color.white)); } return view; } }
选中分类修改样式:
package com.cmge.news; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import android.app.Activity; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.Gravity; import android.view.Menu; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView; import android.widget.GridView; import android.widget.HorizontalScrollView; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.SimpleAdapter; import android.widget.TextView; public class IndexActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.index); // 获取新闻分类 String[] categorys = getResources().getStringArray(R.array.categorys); List<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>(); for(int i = 0;i<categorys.length;i++){ HashMap<String,Object> map = new HashMap<String,Object>(); map.put("category_title",categorys[i]); list.add(map); } // 绑定数据 SimpleAdapter adapter = new CustomSimplerAdapter(this,list,R.layout.category_title,new String[]{"category_title"},new int[]{R.id.category_title}); GridView view = new GridView(this); view.setColumnWidth(55); view.setNumColumns(GridView.AUTO_FIT); view.setGravity(Gravity.CENTER); view.setSelector(new ColorDrawable(Color.TRANSPARENT)); view.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 重置其他分类样式 TextView textView; for(int i = 0;i<parent.getChildCount();i++){ textView = (TextView)parent.getChildAt(i); textView.setBackgroundDrawable(null); textView.setTextColor(getResources().getColor(R.color.black)); } // 设置当前点击的分类样式 TextView categoryView = (TextView)view; categoryView.setBackgroundColor(getResources().getColor(R.color.select_category)); categoryView.setTextColor(getResources().getColor(R.color.white)); } }); // 设置相关参数 int width = categorys.length * 55; LayoutParams params = new LayoutParams(width, LayoutParams.WRAP_CONTENT); view.setLayoutParams(params); view.setAdapter(adapter); // 设置View LinearLayout linearLayout = (LinearLayout)findViewById(R.id.newsCategory); linearLayout.addView(view); final HorizontalScrollView horizontalScrollView = (HorizontalScrollView)findViewById(R.id.navigate); // 滑动按钮 绑定事件 ImageButton button = (ImageButton)findViewById(R.id.add); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 滚动 horizontalScrollView.fling(600); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.index, menu); return true; } }