Subversion Repositories AndroidProjects

Rev

Blame | Last modification | View Log | RSS feed

package com.gebauz.ZhuyinQuiz;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.TextView;

public class ZhuyinTableActivity extends Activity
{
        public class TableAdapter extends BaseAdapter
        {
            private Context mContext;
            private ZhuyinTable mZhuyinTable;
           
            public TableAdapter(Context c)
            {
                mContext = c;
                mZhuyinTable = new ZhuyinTable(Constants.QUIZ_ALL);
            }      
           
            public int getCount()
            {
                return mZhuyinTable.getCount();
            }

            public Object getItem(int position)
            {
                return null;
            }

            public long getItemId(int position)
            {
                return 0;
            }
           
            // create a new ImageView for each item referenced by the Adapter
            public View getView(int position, View convertView, ViewGroup parent)
            {
                TextView view;
                if (convertView == null)
                {
                        // if it's not recycled, initialize some attributes
                        view = new TextView(mContext);
                       
                        final float scale = mContext.getResources().getDisplayMetrics().density;
                        int buttonSize = (int) (Constants.TABLE_ITEM_SIZE_DIP * scale + 0.5f);
                       
                        view.setLayoutParams(new GridView.LayoutParams(buttonSize, buttonSize));
                        view.setPadding(8, 8, 8, 8);
                        view.setTextColor(Color.WHITE);
                        view.setBackgroundColor(Constants.GRID_BACKGROUND_COLOR);
                        view.setGravity(Gravity.CENTER);
                }
                else
                {
                        view = (TextView)convertView;
                }
               
                String textItem = mZhuyinTable.getZhuyin(position) + "\n" + mZhuyinTable.getPinyin(position);
                if (mZhuyinTable.getExtraPronounciation(position).length() > 0)
                        textItem = textItem + " " + mZhuyinTable.getExtraPronounciation(position);

                // make text size smaller for longer texts
                if ((mZhuyinTable.getPinyin(position).length() + mZhuyinTable.getExtraPronounciation(position).length()) > 4)
                        view.setTextSize(Constants.TABLE_TEXT_SIZE_LONG_ITEM);
                else
                        view.setTextSize(Constants.TABLE_TEXT_SIZE_SHORT_ITEM);
               
                view.setText(textItem);
               
                return view;
            }
        }

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.zhuyintable);
       
        GridView gridview = (GridView)findViewById(R.id.gridview);
        gridview.setAdapter(new TableAdapter(this));
    }
}