默认选中推荐类型:
需要自定义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;
}
}