头条新闻(2)


新闻分类动态生成:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    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="#EE2C2C"
        android:gravity="center_horizontal" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"
            android:layout_marginTop="5dp"
            android:src="@drawable/small_loadpic_empty_listpage_night" />
    </LinearLayout>

    <RelativeLayout
        android:id="@+id/category"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="5dp">
		
        <ImageButton
            android:id="@+id/add"
            android:layout_width="22dp"
            android:layout_height="22dp"
            android:layout_alignParentRight="true"
            android:background="@drawable/channel_glide" />
        
        <HorizontalScrollView 
            android:id="@+id/navigate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scrollbars="none"
            android:layout_toLeftOf="@id/add"
            android:layout_centerVertical="true">

            <LinearLayout
                android:id="@+id/newsCategory"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:gravity="center_vertical" 
                android:orientation="horizontal"/>

        </HorizontalScrollView>
        
    </RelativeLayout>
	
    <ListView 
        android:id="@+id/newsList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:dividerHeight="1dp"
        android:divider="@drawable/div"
        android:cacheColorHint="@android:color/transparent">
        
    </ListView>
    
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/category_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:typeface="monospace" 
    android:textColor="@color/category_title_color"/>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:color="#FF0000"/>
	<item android:state_focused="true" android:color="#FF0000"/>
	<item android:state_selected="true" android:color="#FF0000"/>
	<item android:state_hovered="true" android:color="#FF0000"/>
	<item android:color="#000000"/>
</selector>
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.GridView;
import android.widget.HorizontalScrollView;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.SimpleAdapter;

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 SimpleAdapter(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));
		
		// 设置相关参数
		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;
	}

}

 
 

猜你喜欢

转载自luan.iteye.com/blog/2113908