关闭

文本图片数据的封装

标签: androidstringencodingsearchimageinput
371人阅读 评论(0) 收藏 举报
分类:

问题描述:

菜单栏通常通过由icon和文本组成的GridView来实现,创建一个文本和图片的封装类很有必要。


解决方法:

1.通过level-list在drawable目录中创建图片资源

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:maxLevel="0" android:drawable="@drawable/menu_input_net" />
 <item android:maxLevel="1" android:drawable="@drawable/menu_filemanager" />
 <item android:maxLevel="2" android:drawable="@drawable/menu_downmanager" />
 <item android:maxLevel="3" android:drawable="@drawable/menu_refresh" />
 <item android:maxLevel="4" android:drawable="@drawable/menu_fullscreen" />
 <item android:maxLevel="5" android:drawable="@drawable/menu_novel_mode" />
 <item android:maxLevel="6" android:drawable="@drawable/menu_adapter_screen" />
 <item android:maxLevel="7" android:drawable="@drawable/menu_search" />
 <item android:maxLevel="8" android:drawable="@drawable/menu_bookmark" />
 <item android:maxLevel="9" android:drawable="@drawable/menu_add_to_bookmark" />
 <item android:maxLevel="10" android:drawable="@drawable/menu_quit" />
 <item android:maxLevel="11" android:drawable="@drawable/menu_more" />              
</level-list>


2.创建封装类MenuItemData

import android.graphics.drawable.Drawable;
import android.graphics.drawable.LevelListDrawable;

public class MenuItemData {

	private LevelListDrawable mLevelListDrawable;

	private String mTitle[];

	private int mCount;

	public MenuItemData(LevelListDrawable levelListDrawable, String titleID[],
			int count) {
		mLevelListDrawable = levelListDrawable;
		mTitle = title;
		mCount = count;
	}

	public String getTitle(int index) {
		return mTitle[index];
	}

	public Drawable getDrawable(int index) {
		mLevelListDrawable.setLevel(index);
		Drawable drawable = mLevelListDrawable.getCurrent();
		return drawable;
	}

	public int getCount() {
		return mCount;
	}
}


3.得到文本和图片

String[] menuName = getResources().getStringArray(
        R.array.menu_item_name);
LevelListDrawable levelListDrawable = (LevelListDrawable) getResources()
        .getDrawable(R.drawable.menu_image_list);
mMenuItemData2 = new MenuItemData(levelListDrawable,menuName,menuName.length);





   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:118438次
    • 积分:1553
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:0篇
    • 译文:0篇
    • 评论:20条
    文章分类
    最新评论