当前位置:  编程技术>移动开发
本页文章导读:
    ▪统制不同文字字体Typeface        控制不同文字字体Typeface 控制不同文字字体Typeface:     1. 从外部字体文件构造 在assets下创建fonts文件夹,然后放入要使用的字体(.ttf), 然后 Typeface.createFromAsset(AssetManager mgr, String path); Typeface..........
    ▪ Expandlistview的施用        Expandlistview的使用 前阵子写到一个Expandlistview的东西。用来做下载的,让我这菜鸟死了不少脑细胞。想想贴出来吧。方便自己,也方便大家。        首先是Activity里oncreate方法咯: 如下: .........
    ▪ 如其你发现图片在真机中无法看见       如果你发现图片在真机中无法看见 看看代码中是否少了图片的后缀名,如果少了,模拟器是正常执行的,但是真机却有问题!! ......

[1]统制不同文字字体Typeface
    来源: 互联网  发布时间: 2014-02-18
控制不同文字字体Typeface

控制不同文字字体Typeface:

 

 

1. 从外部字体文件构造

在assets下创建fonts文件夹,然后放入要使用的字体(.ttf), 然后

Typeface.createFromAsset(AssetManager mgr, String path);

Typeface.createFromAsset(ContextWrapper.getAssets(), "fonts/MONACO.ttf");

只支持.TTF格式字体, .FON,.TTC都不支持.

 

2. 使用android内置的Typeface

Typeface.defaultFromStyle(int style);

 


    
[2] Expandlistview的施用
    来源: 互联网  发布时间: 2014-02-18
Expandlistview的使用

前阵子写到一个Expandlistview的东西。用来做下载的,让我这菜鸟死了不少脑细胞。想想贴出来吧。方便自己,也方便大家。

 

 

 

 首先是Activity里oncreate方法咯:

如下:

    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        LayoutInflater inflater = getLayoutInflater();

        setContentView(R.layout.download);

        list = (ExpandableListView) findViewById(R.id.expand);
        //设置背景透明
        list.setCacheColorHint(Color.TRANSPARENT);

        list.setOnChildClickListener(new OnChildClickListener()
        {

            @Override
            public boolean onChildClick(ExpandableListView parent, View v,
                int groupPosition, int childPosition, long id)
            {
                //写点击事件...

                return false;
            }
        });
        mAdapter = new ExpandAdapter(inflater);

        list.setAdapter(mAdapter);
    }

 下面是适配器的代码:

    public class ExpandAdapter extends BaseExpandableListAdapter
    {
        private LayoutInflater expandview;

        /**
         * 
         * 带参构造
         * 
         * @param inflater 可扩展视图
         */
        @SuppressWarnings("unchecked")
        public ExpandAdapter(LayoutInflater inflater)
        {


            //给groupVector添加String值,用作菜单显示
        allTask.clear();
            allTask.add("finish");
            allTask.add("running");
            //将inflater 参数赋给本地的inflater
            expandview = inflater;
            for (int i = 0; i < finishsize; i++)
            {
                DownLoadTaskInfo info = (DownLoadTaskInfo) finishVector
                    .elementAt(i);
                finishTask.add(info);
            }

            for (int i = 0; i < downsize; i++)
            {
                DownLoadTaskInfo info = (DownLoadTaskInfo) downVector
                    .elementAt(i);
                runningTask.add(info);
            }

//这里边启动一个根据线程来给vector赋值的。
            new Thread(new Runnable()
            {
                @Override
                public void run()
                {
                    while (true)
                    {
                        try
                        {
                            Thread.sleep(500);
                        }
                        catch (InterruptedException e)
                        {
                            e.printStackTrace();
                        }

                        for (int i = 0; i < runningTask.size(); i++)
                        {
//赋值的代码就不贴了..

}
                        realTask.clear();
                        realTask.add(finishTask);
                        realTask.add(runningTask);
                    }
                }

            }).start();
        }

        //        }

        /**
         * 
         * 获得子元素对象 [功能详细描述]
         * 
         * @param groupPosition 父位置
         * @param childPosition 子位置
         * @return 子元素
         * @see android.widget.ExpandableListAdapter#getChildId(int, int)
         */
        @Override
        public Object getChild(int groupPosition, int childPosition)
        {

            return realTask.elementAt(groupPosition).elementAt(childPosition);

        }

        /**
         * 
         * 获得子ID [功能详细描述]
         * 
         * @param groupPosition 父位置
         * @param childPosition 子位置
         * @return 子位置参数
         * @see android.widget.ExpandableListAdapter#getChildId(int, int)
         */
        @Override
        public long getChildId(int groupPosition, int childPosition)
        {
            return childPosition;
        }

        /**
         * 
         * 获取子view [功能详细描述]
         * 
         * @param groupPosition 父view位置
         * @param childPosition 子view 位置
         * @param isLastChild 最后一个子view
         * @param convertView convertview
         * @param parent 父view
         * @return 子view
         */
        @Override
        public View getChildView(int groupPosition, int childPosition,
            boolean isLastChild, View convertView, ViewGroup parent)
        {
            DownLoadTaskInfo childinfo = (DownLoadTaskInfo) (realTask
                .get(groupPosition).get(childPosition));
            convertView = getChildsView(childinfo);
            return convertView;

        }

        /**
         * 
         * 获得子view数目
         * 
         * @param groupPosition 父view位置
         * @return 子view的数目
         * @see android.widget.ExpandableListAdapter#getChildrenCount(int)
         */
        @Override
        public int getChildrenCount(int groupPosition)
        {

            return realTask.elementAt(groupPosition).size();
        }

        /**
         * 
         * 获得父元素 [功能详细描述]
         * 
         * @param groupPosition 父元素位置
         * @return 父节点名称
         * @see android.widget.ExpandableListAdapter#getGroup(int)
         */
        @Override
        public Object getGroup(int groupPosition)
        {
            if ("finish".equals(allTask.elementAt(groupPosition)))
            {
                return getResources().getString(R.string.DownLoadFinish)
                    + "  (" + finishTask.size() + ")";
            }
            else
            {
                return getResources().getString(R.string.DownLoading) + "  ("
                    + runningTask.size() + ")";
            }
        }

        /**
         * 
         * 获得父元素个数 [功能详细描述]
         * 
         * @return 父元素个数
         * @see android.widget.ExpandableListAdapter#getGroupCount()
         */
        @Override
        public int getGroupCount()
        {
            return allTask.size();
        }

        /**
         * 
         * 父元素ID [功能详细描述]
         * 
         * @param groupPosition 父元素位置
         * @return 父元素ID
         * @see android.widget.ExpandableListAdapter#getGroupId(int)
         */
        @Override
        public long getGroupId(int groupPosition)
        {
            return groupPosition;
        }

        /**
         * 获得Group的视图 * [功能详细描述]
         * 
         * @param groupPosition 父元素位置
         * @param isExpanded 是否可扩展
         * @param convertView 覆盖视图
         * @param parent 父节点
         * @return 父元素视图
         * @see android.widget.ExpandableListAdapter#getGroupView(int, boolean,
         *      android.view.View, android.view.ViewGroup)
         */
        @Override
        public TextView getGroupView(int groupPosition, boolean isExpanded,
            View convertView, ViewGroup parent)
        {
            TextView txtView = getGenericView();
            txtView.setText(getGroup(groupPosition).toString());
            return txtView;
        }

        /**
         * 
         * 是否Stable [功能详细描述]
         * 
         * @return boolean值
         * @see android.widget.ExpandableListAdapter#hasStableIds()
         */
        @Override
        public boolean hasStableIds()
        {
            return true;
        }

        /**
         * 
         * 是否child可选 [功能详细描述]
         * 
         * @param groupPosition 父元素位置
         * @param childPosition 子元素位置
         * @return boolean
         * @see android.widget.ExpandableListAdapter#isChildSelectable(int, int)
         */
        @Override
        public boolean isChildSelectable(int groupPosition, int childPosition)
        {
            return true;
        }

        /**
         * 
         * 获得父元素视图格式 [功能详细描述]
         * 
         * @return TextView
         */
        public TextView getGenericView()
        {

            AbsListView.LayoutParams lp = new AbsListView.LayoutParams(
                ViewGroup.LayoutParams.FILL_PARENT, 40);
            //
            TextView textView = new TextView(DownloadActivity.this);
            textView.setLayoutParams(lp);
            //            // Center the text vertically
            textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
            //            // Set the text starting position
            textView.setPadding(36, 10, 0, 0);
            return textView;
        }

        /**
         * 
         * 获得子元素视图 [功能详细描述]
         * 
         * @param info 下载信息
         * @return View
         */
        public View getChildsView(DownLoadTaskInfo info)
        {
            String name = info.showName;
            int state = info.state;
            String percent = info.percent + "%";
            View view = expandview.inflate(R.layout.expand_childitem, null);
            ImageView img = (ImageView) view.findViewById(R.id.downitem_image);
            TextView txtview = (TextView) view
                .findViewById(R.id.downitem_showname);
            TextView pctview = (TextView) view
                .findViewById(R.id.downitem_percent);
          //这些都是根据state来完成对应的item样式
  if (state == 6)
            {
                img.setImageResource(R.drawable.download_finish);
                txtview.setText(name);
            }
            else if (state == 1)
            {
                img.setImageResource(R.drawable.download_start);
                txtview.setText(name);
                pctview.setText(percent);
            }
            else if (state == 2)
            {
                img.setImageResource(R.drawable.download_pause);
                txtview.setText(name);
                pctview.setText(percent);
            }
            else if (state == 3)
            {
                img.setImageResource(R.drawable.download_lost);
                txtview.setText(name);
            }
            return view;
        }

    }

 下面的download.xml文件

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<ExpandableListView android:id="@+id/expand"
		android:layout_below="@+id/layout" android:layout_width="fill_parent"
		android:layout_height="fill_parent" />
</RelativeLayout>

 

 

这个是子item的样式文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="wrap_content" android:layout_height="100px"
	android:layout_gravity="top|center">
	<ImageView android:id="@+id/downitem_image"
		android:layout_alignParentTop="true" android:layout_marginLeft="10px"
		android:layout_width="wrap_content" android:layout_height="wrap_content" />
	<TextView android:id="@+id/downitem_showname"
		android:layout_alignParentTop="true" android:layout_marginLeft="100px"
		android:paddingTop="5px" android:layout_width="wrap_content"
		android:layout_height="wrap_content" />
	<TextView android:id="@+id/downitem_percent"
		android:layout_alignParentTop="true" android:layout_marginLeft="260px"
		android:paddingTop="5px" android:layout_width="wrap_content"
		android:layout_height="wrap_content" />
</RelativeLayout>

 

 

 

 

1 楼 琼露露 2011-02-18  
为什么例子和页面上的不是一个程序...
2 楼 mm4409092 2012-05-14  
ExpandableListView实例(一)_数据库增删改查处理和listitem点击长按处理
http://blog.csdn.net/lk_blog/article/details/7562987

ExpandableListView实例(二)_两种方式实现QQ中组后面显示子条目数量效果
http://blog.csdn.net/lk_blog/article/details/7563355

ExpandableListView实例(三)_实现QQ中"未分组"效果和"未分组"不可编辑删除功能
http://blog.csdn.net/lk_blog/article/details/7563371

    
[3] 如其你发现图片在真机中无法看见
    来源: 互联网  发布时间: 2014-02-18
如果你发现图片在真机中无法看见
看看代码中是否少了图片的后缀名,如果少了,模拟器是正常执行的,但是真机却有问题!!

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
mysql iis7站长之家
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3