精华内容
下载资源
问答
  • 在二级标题上点击“定义新的多级列表”: 包含的级别编号来自选择级别1,此时输入的编号格式会显示“四”,再勾选右侧“正规形式编号”,“四”变为“4”。 转载于:...

    在二级标题上点击“定义新的多级列表”:

    包含的级别编号来自选择级别1,此时输入的编号格式会显示“四”,再勾选右侧“正规形式编号”,“四”变为“4”。

     

    转载于:https://www.cnblogs.com/teaxy/p/5803457.html

    展开全文
  • Android高级控件()——如何打造个企业应用对话列表,以QQ,微信为例 看标题这么高大上,实际上,还是运用我么拿listview去扩展,我们讲什么呢,就是研究一下QQ,微信的这种对话列表,我们先看个传统的...

    Android高级控件(五)——如何打造一个企业级应用对话列表,以QQ,微信为例


    看标题这么高大上,实际上,还是运用我么拿到listview去扩展,我们讲什么呢,就是研究一下QQ,微信的这种对话列表,我们先看一个传统的ListView是怎么样的,我们做一个通讯录吧,通讯录的组成就是一个头像,一个名字,一个电话号码,一个点击拨打的按钮,既然这样,那我们的item就出来了

    call_list_item.xml

    <?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:gravity="center_vertical"
        android:orientation="horizontal">
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:src="@mipmap/ic_launcher" />
    
        <TextView
            android:id="@+id/tv_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1" />
    
        <TextView
            android:id="@+id/tv_number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="3" />
    
        <Button
            android:id="@+id/mCall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1" />
    
    </LinearLayout>

    大家都知道,我们一个listview还是需要一个数据集,那我们就写一个java的实体类吧

    ContentBean

    package com.lgl.wechatlist.bean;
    
    import android.widget.Button;
    
    /**
     * 实体类
     *
     * @author LGL
     */
    public class ContentBean {
    
        private String name;
        private String number;
    
        private Button mButton;
    
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getNumber() {
            return number;
        }
    
        public void setNumber(String number) {
            this.number = number;
        }
    
        public Button getmButton() {
            return mButton;
        }
    
        public void setmButton(Button mButton) {
            this.mButton = mButton;
        }
    }
    

    传统的ListView,我相信大家都知道写,直接给出Adapter

    ContentAdapter

    package com.lgl.wechatlist.adapter;
    
    import android.content.Context;
    import android.content.Intent;
    import android.net.Uri;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.Button;
    import android.widget.TextView;
    
    import com.lgl.wechatlist.R;
    import com.lgl.wechatlist.bean.ContentBean;
    
    import java.util.List;
    
    public class ContentAdapter extends BaseAdapter {
    
        private Context mContext;
    
        private List<ContentBean> mList;
    
        private LayoutInflater mInflater;
    
        private ContentBean bean;
    
        public ContentAdapter(Context mContext, List<ContentBean> mList) {
            this.mContext = mContext;
            this.mList = mList;
            mInflater = (LayoutInflater) mContext
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }
    
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return mList.size();
        }
    
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return mList.get(position);
        }
    
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHodler viewHodler;
    
            if (convertView == null) {
    
                viewHodler = new ViewHodler();
                convertView = mInflater.inflate(R.layout.call_list_item, null);
                viewHodler.tv_name = (TextView) convertView
                        .findViewById(R.id.tv_name);
                viewHodler.tv_number = (TextView) convertView
                        .findViewById(R.id.tv_number);
                viewHodler.mCall = (Button) convertView.findViewById(R.id.mCall);
                convertView.setTag(viewHodler);
            } else {
                viewHodler = (ViewHodler) convertView.getTag();
            }
    
            bean = mList.get(position);
            viewHodler.tv_name.setText(bean.getName());
            viewHodler.tv_number.setText(bean.getNumber());
            viewHodler.mCall.setText("拨打");
            viewHodler.mCall.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    Call(bean.getNumber());
                }
            });
    
            return convertView;
        }
    
        class ViewHodler {
            private TextView tv_name;
            private TextView tv_number;
            private Button mCall;
        }
    
        /**
         * 拨打电话
         *
         * @param phone
         */
        public void Call(String phone) {
            Intent intent = new Intent();
            intent.setAction("android.intent.action.CALL");
            intent.addCategory("android.intent.category.DEFAULT");
            intent.setData(Uri.parse("tel:"+phone));
            mContext.startActivity(intent);
        }
    
    }
    

    当然,还需要在我们的主类中获取数据

    package com.lgl.listview;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import android.app.Activity;
    import android.database.Cursor;
    import android.os.Bundle;
    import android.provider.ContactsContract;
    import android.widget.ListView;
    
    public class MainActivity extends Activity {
    
        private ListView mListView;
        // 联系人集合
        private List<String> contentName = new ArrayList<String>();
        // 号码集合
        private List<String> contentPhone = new ArrayList<String>();
        private List<ContentBean> list = new ArrayList<ContentBean>();
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            getContent();
            mListView = (ListView) findViewById(R.id.mListView);
    
            for (int i = 0; i < contentName.size(); i++) {
                ContentBean bean = new ContentBean();
                bean.setName(contentName.get(i));
                bean.setNumber(contentPhone.get(i));
                list.add(bean);
            }
    
            ContentAdapter adapter = new ContentAdapter(this, list);
            mListView.setAdapter(adapter);
    
        }
    
        /**
         * 获取联系人
         */
        private void getContent() {
            Cursor query = getContentResolver().query(
                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,
                    null, null);
            // 创建一个对象进行储存
            String name; // 联系人
            String phone; // 电话号码
            // 我们获取到这些信息之后遍历出来
            while (query.moveToNext()) {
                // 获取名字就需要Phone.DISPLAY_NAME
                name = query
                        .getString(query
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                // 获取num字段需要Phone.NUMBER
                phone = query
                        .getString(query
                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                contentName.add(name);
                contentPhone.add(phone);
            }
        }
    }
    
    

    这样,一个简易的通讯录就做好了

    这里写图片描述

    OK,这个没什么问题,但是我们今天要讨论的,是一个对话的ListView,这在我们之前看的群英传一书中也提到过Android群英传笔记——第四章:ListView使用技巧,但是讲的不是很详细,我们这里就多讲一下了,我们要区分左右,也就是type,需要用到getViewTypeCount()和getItemViewType()方法, 根据数据源的position返回需要显示的的layout的type,那我们从易到难,先写一个简单点的,就一个简单的文字对话框,怎么实现呢?我们当然得先定义left和right的item布局了

    chatlist_left.xml

    <?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:gravity="bottom"
        android:orientation="horizontal"
        android:padding="10dp">
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:src="@mipmap/ic_launcher" />
    
        <TextView
            android:id="@+id/chatlist_tv_left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:background="@drawable/pop_left"
            android:gravity="center"
            android:padding="20dp" />
    
    </LinearLayout>

    chatlist_right.xml

    <?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:gravity="right|bottom"
        android:orientation="horizontal"
        android:padding="10dp">
    
        <TextView
            android:id="@+id/chatlist_tv_right"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:background="@drawable/pop_right"
            android:gravity="center"
            android:padding="20dp" />
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:src="@mipmap/ic_launcher" />
    
    </LinearLayout>

    OK,别忘了这是一个新的listview,所以我们还得写一个实体类

    ChatListBean

    package com.lgl.wechatlist.bean;
    
    /**
     * 对话实体类
     * 
     * @author LGL
     *
     */
    public class ChatListBean {
    
        // 指定方向
        private int type;
        // 文本
        private String value;
    
        public int getType() {
            return type;
        }
    
        public void setType(int type) {
            this.type = type;
        }
    
        public String getValue() {
            return value;
        }
    
        public void setValue(String value) {
            this.value = value;
        }
    }
    

    这样就对我们的adapter进行分析了

    ChatListAdapter

    package com.lgl.wechatlist.adapter;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.TextView;
    
    import com.lgl.wechatlist.R;
    import com.lgl.wechatlist.bean.ChatListBean;
    
    import java.util.List;
    
    /**
     * 对话ListView
     */
    public class ChatListAdapter extends BaseAdapter {
    
        public static final String KEY = "key";
        public static final String VALUE = "value";
    
        public static final int VALUE_LEFT_TEXT = 1;
        public static final int VALUE_RIGHT_TEXT = 2;
        private LayoutInflater mInflater;
    
        private List<ChatListBean> myList;
    
        public ChatListAdapter(Context context, List<ChatListBean> myList) {
            this.myList = myList;
    
            mInflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    
        }
    
        @Override
        public int getCount() {
            return myList.size();
        }
    
        @Override
        public Object getItem(int arg0) {
            return myList.get(arg0);
        }
    
        @Override
        public long getItemId(int arg0) {
            return arg0;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup arg2) {
    
            ChatListBean msg = myList.get(position);
            int type = getItemViewType(position);
            ViewHolderRightText holderRightText = null;
            ViewHolderLeftText holderLeftText = null;
    
            if (convertView == null) {
                switch (type) {
                    // 左边
                    case VALUE_LEFT_TEXT:
                        holderLeftText = new ViewHolderLeftText();
                        convertView = mInflater.inflate(R.layout.chatlist_left, null);
                        holderLeftText.btnLeftText = (TextView) convertView
                                .findViewById(R.id.chatlist_tv_left);
                        holderLeftText.btnLeftText.setText(msg.getValue());
                        convertView.setTag(holderLeftText);
                        break;
                    // 右边
                    case VALUE_RIGHT_TEXT:
                        holderRightText = new ViewHolderRightText();
                        convertView = mInflater.inflate(R.layout.chatlist_right, null);
                        holderRightText.btnRightText = (TextView) convertView
                                .findViewById(R.id.chatlist_tv_right);
                        holderRightText.btnRightText.setText(msg.getValue());
                        convertView.setTag(holderRightText);
                        break;
                }
    
            } else {
                switch (type) {
                    case VALUE_LEFT_TEXT:
                        holderLeftText = (ViewHolderLeftText) convertView.getTag();
                        holderLeftText.btnLeftText.setText(msg.getValue());
                        break;
                    case VALUE_RIGHT_TEXT:
                        holderRightText = (ViewHolderRightText) convertView.getTag();
                        holderRightText.btnRightText.setText(msg.getValue());
                        break;
                }
    
            }
            return convertView;
        }
    
        /**
         * 根据数据源的position返回需要显示的的layout的type
         * <p/>
         * type的值必须从0开始
         */
        @Override
        public int getItemViewType(int position) {
    
            ChatListBean msg = myList.get(position);
            int type = msg.getType();
            return type;
        }
    
        /**
         * 返回所有的layout的数量
         */
        @Override
        public int getViewTypeCount() {
            return 7;
        }
    
        // 左边的文本
        class ViewHolderLeftText {
            private TextView btnLeftText;
        }
    
        // 右边的文本
        class ViewHolderRightText {
            private TextView btnRightText;
        }
    
    }
    

    我们去主类中写点数据

    package com.lgl.wechatlist;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ListView;
    
    import com.lgl.wechatlist.adapter.ChatListAdapter;
    import com.lgl.wechatlist.bean.ChatListBean;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by LGL on 2016/5/7.
     */
    public class QQActivity extends AppCompatActivity implements View.OnClickListener{
    
    
        // 会话数据源
        private List<ChatListBean> ListData;
        // 会话Adapter
        private ChatListAdapter chatListAdapter;
        // 会话列表
        private ListView mListView;
        // 消息
        private String message;
        // 按钮
        private Button btn_left, btn_right;
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_qq);
            mListView = (ListView) findViewById(R.id.mListView);
            btn_left = (Button) findViewById(R.id.btn_left);
            btn_left.setOnClickListener(this);
            btn_right = (Button) findViewById(R.id.btn_right);
            btn_right.setOnClickListener(this);
    
            ListData = new ArrayList<ChatListBean>();
            ChatListBean chatListBean = new ChatListBean();
            chatListBean.setType(ChatListAdapter.VALUE_LEFT_TEXT);
            chatListBean.setValue("你好!");
            ListData.add(chatListBean);
    
            chatListAdapter = new ChatListAdapter(this, ListData);
            mListView.setAdapter(chatListAdapter);
        }
    
    
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.btn_left:
                    listLeft("left");
                    break;
                case R.id.btn_right:
                    listRight("right");
                    break;
            }
        }
        /**
         * 显示列表左边
         *
         * @param text
         */
        private void listLeft(String text) {
            ChatListBean left = new ChatListBean();
            left.setType(ChatListAdapter.VALUE_LEFT_TEXT);
            left.setValue(text);
            ListData.add(left);
            chatListAdapter.notifyDataSetChanged();
            // 滚动到最底部
            mListView.setSelection(mListView.getBottom());
        }
    
        /**
         * 显示右边列表
         *
         * @param text
         */
        private void listRight(String text) {
            ChatListBean right = new ChatListBean();
            right.setType(ChatListAdapter.VALUE_RIGHT_TEXT);
            right.setValue(text);
            ListData.add(right);
            chatListAdapter.notifyDataSetChanged();
            // 滚动到最底部
            mListView.setSelection(mListView.getBottom());
        }
    }
    

    好的运行一下

    这里写图片描述

    到这里,我们就对这个技巧有点熟悉了吧,既然如此,那我们即系,现在我们有6个item,分别是文字左右,图片左右,语言左右,这里就不贴出来了,要看的直接去Demo里面找哟,也没多少东西,就几个文本布局而已,我们直接来看实体类

    MessageBean

    package com.lgl.wechatlist.bean;
    
    public class MessageBean {
    
        private int type;//指定是哪种类型
        private String value;//值
    
        public int getType() {
            return type;
        }
    
        public void setType(int type) {
            this.type = type;
        }
    
        public String getValue() {
            return value;
        }
    
        public void setValue(String value) {
            this.value = value;
        }
    }
    

    你一看,和上次那个没什么不同,对的,是没什么不同,只不过代码多了一点而已,这样的话,我们可以看Adapter了

    package com.lgl.wechatlist.adapter;
    
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.TextView;
    
    import com.lgl.wechatlist.R;
    import com.lgl.wechatlist.bean.MessageBean;
    
    import java.util.List;
    
    /**
     * 比原来的多了getItemViewType和getViewTypeCount这两个方法,
     * 
     * */
    public class WechatAdapter extends BaseAdapter {
    
        public static final String KEY = "key";
        public static final String VALUE = "value";
    
        public static final int VALUE_LEFT_TEXT = 1;
        public static final int VALUE_LEFT_IMAGE = 2;
        public static final int VALUE_LEFT_AUDIO = 3;
        public static final int VALUE_RIGHT_TEXT = 4;
        public static final int VALUE_RIGHT_IMAGE = 5;
        public static final int VALUE_RIGHT_AUDIO = 6;
        private LayoutInflater mInflater;
    
        private List<MessageBean> myList;
    
        public WechatAdapter(Context context, List<MessageBean> myList) {
            this.myList = myList;
    
            mInflater = (LayoutInflater) context
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }
    
        @Override
        public int getCount() {
            return myList.size();
        }
    
        @Override
        public Object getItem(int arg0) {
            return myList.get(arg0);
        }
    
        @Override
        public long getItemId(int arg0) {
            return arg0;
        }
    
        @Override
        public View getView(int position, View convertView, ViewGroup arg2) {
    
            MessageBean msg = myList.get(position);
            int type = getItemViewType(position);
            ViewHolderRightText holderRightText = null;
            ViewHolderRightImg holderRightImg = null;
            ViewHolderRightAudio holderRightAudio = null;
            ViewHolderLeftText holderLeftText = null;
            ViewHolderLeftImg holderLeftImg = null;
            ViewHolderLeftAudio holderLeftAudio = null;
    
            if (convertView == null) {
                switch (type) {
                // 左边
                case VALUE_LEFT_TEXT:
                    holderLeftText = new ViewHolderLeftText();
                    convertView = mInflater.inflate(R.layout.list_item_left_text,
                            null);
                    holderLeftText.ivLeftIcon = (ImageView) convertView
                            .findViewById(R.id.iv_icon);
                    holderLeftText.btnLeftText = (Button) convertView
                            .findViewById(R.id.btn_left_text);
                    holderLeftText.btnLeftText.setText(msg.getValue());
                    convertView.setTag(holderLeftText);
                    break;
    
                case VALUE_LEFT_IMAGE:
                    holderLeftImg = new ViewHolderLeftImg();
                    convertView = mInflater.inflate(R.layout.list_item_left_iamge,
                            null);
                    holderLeftImg.ivLeftIcon = (ImageView) convertView
                            .findViewById(R.id.iv_icon);
                    holderLeftImg.ivLeftImage = (ImageView) convertView
                            .findViewById(R.id.iv_left_image);
                    holderLeftImg.ivLeftImage.setImageResource(R.mipmap.ic_launcher);
                    convertView.setTag(holderLeftImg);
                    break;
    
                case VALUE_LEFT_AUDIO:
                    holderLeftAudio = new ViewHolderLeftAudio();
                    convertView = mInflater.inflate(R.layout.list_item_left_audio,
                            null);
                    holderLeftAudio.ivLeftIcon = (ImageView) convertView
                            .findViewById(R.id.iv_icon);
                    holderLeftAudio.btnLeftAudio = (Button) convertView
                            .findViewById(R.id.btn_left_audio);
                    holderLeftAudio.tvLeftAudioTime = (TextView) convertView
                            .findViewById(R.id.tv_left_audio_time);
                    holderLeftAudio.tvLeftAudioTime.setText(msg.getValue());
                    convertView.setTag(holderLeftAudio);
                    break;
                // 右边
                case VALUE_RIGHT_TEXT:
                    holderRightText= new ViewHolderRightText();
                    convertView = mInflater.inflate(R.layout.list_item_right_text,
                            null);
                    holderRightText.ivRightIcon = (ImageView) convertView
                            .findViewById(R.id.iv_icon);
                    holderRightText.btnRightText = (Button) convertView
                            .findViewById(R.id.btn_right_text);
                    holderRightText.btnRightText.setText(msg.getValue());
                    convertView.setTag(holderRightText);
                    break;
    
                case VALUE_RIGHT_IMAGE:
                    holderRightImg= new ViewHolderRightImg();
                    convertView = mInflater.inflate(R.layout.list_item_right_iamge,
                            null);
                    holderRightImg.ivRightIcon = (ImageView) convertView
                            .findViewById(R.id.iv_icon);
                    holderRightImg.ivRightImage = (ImageView) convertView
                            .findViewById(R.id.iv_right_image);
                    holderRightImg.ivRightImage.setImageResource(R.mipmap.ic_launcher);
                    convertView.setTag(holderRightImg);
                    break;
    
                case VALUE_RIGHT_AUDIO:
                    holderRightAudio=new ViewHolderRightAudio();
                    convertView = mInflater.inflate(R.layout.list_item_right_audio,
                            null);
                    holderRightAudio.ivRightIcon = (ImageView) convertView
                            .findViewById(R.id.iv_icon);
                    holderRightAudio.btnRightAudio = (Button) convertView
                            .findViewById(R.id.btn_right_audio);
                    holderRightAudio.tvRightAudioTime = (TextView) convertView
                            .findViewById(R.id.tv_right_audio_time);
                    holderRightAudio.tvRightAudioTime.setText(msg.getValue());
                    convertView.setTag(holderRightAudio);
                    break;
    
                default:
                    break;
                }
    
            } else {
                switch (type) {
                case VALUE_LEFT_TEXT:
                    holderLeftText=(ViewHolderLeftText)convertView.getTag();
                    holderLeftText.btnLeftText.setText(msg.getValue());
                    break;
                case VALUE_LEFT_IMAGE:
                    holderLeftImg=(ViewHolderLeftImg)convertView.getTag();
                    holderLeftImg.ivLeftImage.setImageResource(R.mipmap.ic_launcher);
                    break;
                case VALUE_LEFT_AUDIO:
                    holderLeftAudio=(ViewHolderLeftAudio)convertView.getTag();
                    holderLeftAudio.tvLeftAudioTime.setText(msg.getValue());
                    break;
                case VALUE_RIGHT_TEXT:
                    holderRightText=(ViewHolderRightText)convertView.getTag();
                    holderRightText.btnRightText.setText(msg.getValue());
                    break;
                case VALUE_RIGHT_IMAGE:
                    holderRightImg=(ViewHolderRightImg)convertView.getTag();
                    holderRightImg.ivRightImage.setImageResource(R.mipmap.ic_launcher);
                    break;
                case VALUE_RIGHT_AUDIO:
                    holderRightAudio=(ViewHolderRightAudio)convertView.getTag();
                    holderRightAudio.tvRightAudioTime.setText(msg.getValue());
                    break;
    
                default:
                    break;
                }
    
                //holder = (ViewHolder) convertView.getTag();
            }
            return convertView;
        }
    
        /**
         * 根据数据源的position返回需要显示的的layout的type
         * 
         * type的值必须从0开始
         * 
         * */
        @Override
        public int getItemViewType(int position) {
    
            MessageBean msg = myList.get(position);
            int type = msg.getType();
            return type;
        }
    
        /**
         * 返回所有的layout的数量
         * 
         * */
        @Override
        public int getViewTypeCount() {
            return 7;
        }
    
        class ViewHolderRightText {
            private ImageView ivRightIcon;// 右边的头像
            private Button btnRightText;// 右边的文本
        }
    
        class ViewHolderRightImg {
            private ImageView ivRightIcon;// 右边的头像
            private ImageView ivRightImage;// 右边的图像
        }
    
        class ViewHolderRightAudio {
            private ImageView ivRightIcon;// 右边的头像
            private Button btnRightAudio;// 右边的声音
            private TextView tvRightAudioTime;// 右边的声音时间
        }
    
        class ViewHolderLeftText {
            private ImageView ivLeftIcon;// 左边的头像
            private Button btnLeftText;// 左边的文本
        }
    
        class ViewHolderLeftImg {
            private ImageView ivLeftIcon;// 左边的头像
            private ImageView ivLeftImage;// 左边的图像
        }
    
        class ViewHolderLeftAudio {
            private ImageView ivLeftIcon;// 左边的头像
            private Button btnLeftAudio;// 左边的声音
            private TextView tvLeftAudioTime;// 左边的声音时间
        }
    
    }
    

    OK,代码清晰可见

    我们的主类

    package com.lgl.wechatlist;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.ListView;
    
    import com.lgl.wechatlist.adapter.WechatAdapter;
    import com.lgl.wechatlist.bean.MessageBean;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    public class WechatActivity extends AppCompatActivity {
    
        private ListView lvData;
        private List<MessageBean> msgList;
        private MessageBean msg;
        private WechatAdapter adapter;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_wechat);
    
            lvData = (ListView) findViewById(R.id.lv_data);
    
            msgList = new ArrayList<MessageBean>();
    
            adapter = new WechatAdapter(WechatActivity.this, msgList);
    
            lvData.setAdapter(adapter);
        }
    
        /**
         * 左边文字
         *
         * @param v
         */
        public void tv_left(View v) {
            MessageBean msg = new MessageBean();
            msg.setType(WechatAdapter.VALUE_LEFT_TEXT);
            msg.setValue("我是文字左");
            msgList.add(msg);
            adapter.notifyDataSetChanged();
            //滑动到底部
            lvData.setSelection(lvData.getBottom());
        }
    
        /**
         * 右边文字
         *
         * @param v
         */
        public void tv_right(View v) {
            MessageBean msg = new MessageBean();
            msg.setType(WechatAdapter.VALUE_RIGHT_TEXT);
            msg.setValue("我是文字右");
            msgList.add(msg);
            adapter.notifyDataSetChanged();
            //滑动到底部
            lvData.setSelection(lvData.getBottom());
        }
    
        /**
         * 左边图片
         *
         * @param v
         */
        public void iv_left(View v) {
            MessageBean msg = new MessageBean();
            msg.setType(WechatAdapter.VALUE_LEFT_IMAGE);
            msg.setValue("我是图片左");
            msgList.add(msg);
            adapter.notifyDataSetChanged();
            //滑动到底部
            lvData.setSelection(lvData.getBottom());
        }
    
        /**
         * 右边图片
         *
         * @param v
         */
        public void iv_right(View v) {
            msg = new MessageBean();
            msg.setType(WechatAdapter.VALUE_RIGHT_IMAGE);
            msg.setValue("我是图片右");
            msgList.add(msg);
            adapter.notifyDataSetChanged();
            //滑动到底部
            lvData.setSelection(lvData.getBottom());
        }
    
        /**
         * 左边语音
         *
         * @param v
         */
        public void iv_left_audio(View v) {
            msg = new MessageBean();
            msg.setType(WechatAdapter.VALUE_LEFT_AUDIO);
            msg.setValue("16s");
            msgList.add(msg);
            adapter.notifyDataSetChanged();
            //滑动到底部
            lvData.setSelection(lvData.getBottom());
        }
    
        /**
         * 右边语音
         *
         * @param v
         */
        public void iv_right_audio(View v) {
            msg = new MessageBean();
            msg.setType(WechatAdapter.VALUE_RIGHT_AUDIO);
            msg.setValue("6s");
            msgList.add(msg);
            adapter.notifyDataSetChanged();
            //滑动到底部
            lvData.setSelection(lvData.getBottom());
        }
    
    
    }
    
    

    那这样的话,我们运行一下

    这里写图片描述

    行,我们是不是已经有了大致的了解,我Demo也理得比较顺,要是看的不是很懂可以结合Demo来

    Demo下载地址:http://download.csdn.net/detail/qq_26787115/9512985

    我的群,通往Android的神奇之旅 :555974449,欢迎大家进来交流技术!

    展开全文
  • 上面改一级标题和二级标题的代码都成功了,三级的代码else if 没进去不知道怎么回事 希望大神帮看看。 一级标题---成功更改 () 二级标题---成功更改 3.三级标题---没变化 (4)正文
  • 章 多级标题

    千次阅读 多人点赞 2021-04-05 20:30:37
    章 多级标题 ...五级标题—######空格、Ctrl+5 六级标题—######空格、Ctrl+6 要将标题还原为段落 — Ctrl+0、Ctrl+此行等级 或是在光标移动标题前点击BackSpace(相当于删除了#后面的空格) 1.1.1 具体操

    第一章 多级标题

    1.1 创建多级标题

    1. 快捷键--------Ctrl+1~6
    2. Markdown语法: N个#+空格

    一级标题—#空格 、Ctrl+1

    二级标题—##空格 、Ctrl+2

    三级标题—###空格 、Ctrl+3

    四级标题—####空格 、Ctrl+4

    五级标题—######空格、Ctrl+5

    六级标题—######空格、Ctrl+6

    要将标题还原为段落 — Ctrl+0、Ctrl+此行等级 或是在光标移动到标题前点击BackSpace(相当于删除了#后面的空格)

    1.1.1 具体操作

    1. 写完一行标题,再在此行操作Ctrl+0~6或者再在前面加"# 空格",就可以把此行变成标题/还原标题。或者先Ctrl+1,此时左边也许出现一个“h2”的半透明字体,但是能看到光标明显变大
    2. 也先直接以#空格 或 Ctrl+N 开始
    3. 光标停在非一级标题行时 会显示“h2”的半透明字体 可以参考这个来定义接下来的标题等级-有时不显示

    注意

    1. #后一定要有空格
    2. 只有最多6级标题
    3. 三级标题依旧能通过Crtl+4修改为四级标题(而在三级标题前加#####空格的方法无法修改)
    4. 删除标题的文字后,会发现还保留光标的大小,此时此行格式依旧是标题格式
    5. Ctrl+0只能对单一行操作,不能还原 多个标题
    6. 将已经创建好的标题文字中间进行回车,则回车到第二行的内容保留了标题格式
    展开全文
  • 、基本操作 答题前的操作 建议在答题前将系统设置为“显示隐藏的文件、文件夹和驱动器”及不“隐藏已知文件类型的扩展名”,再开始答题。 方法如下:在“计算机”或“Windows资源管理器”的“组织”菜单中选择...

    一、基本操作

    答题前的操作

    建议在答题前将系统设置为“显示隐藏的文件、文件夹和驱动器”及不“隐藏已知文件类型的扩展名”,再开始答题。

    方法如下:在“计算机”或“Windows资源管理器”的“组织”菜单中选择“文件夹和搜索选项”,切换到“查看”页面,在“高级选项”中点选“显示隐藏的文件、文件夹和驱动器”,并去掉“隐藏已知文件类型的扩展名”前的选勾。

    解题注意事项

    解答基本操作题特别要注意操作的位置(一般在考生文件夹中)要正确题型及解题方法

    1 、新建文件夹

    解题方法:鼠标在空白处右键,快捷菜单项“新建->文件夹”,输入文件名并按回车键即可

    例题:在考生文件夹下 CCTVA 文件夹中新建一个文件夹 LEDER

    解题:进入 CCTVA 文件夹,空白处右键,快捷菜单项“新建->文件夹”,输入文件夹名 LEDER 并按回车键

    2 、新建文件

    解题方法:鼠标在空白处右键,快捷菜单项“新建”,选择要建立的文件类型,输入文件名即可。

    建立文件类型对应的扩展名:文本文档(.TXT),WORD 文档(.DOCX),创建其他扩展名的文件可以先创建文本文档,然后将扩展名更改为题目要求的扩展名。

    例题:在考生文件件下 CARD 文件夹中建立一个新文件 WOLDMAN.DOC

    解题:进入考生文件夹下的 CARD 文件夹,鼠标在空白处右键,快捷菜单项“新建”,选择要建立的文件类型(文本文档(.TXT)),然后删去原文件名,输入文件名 WOLDMAN.DOC 即可。

    3 、文件(文件夹)的复制

    解题方法:找到要复制的文件(文件夹),右键点击,选择“复制”,到要求复制到的文件夹空白处右键点击,选择“粘贴”。

    例题:在考生文件夹下 BOP\YINY 文件夹中的文件 FILE.WRI 复制到考生文件夹下 SHEET 文件夹中。

    解题:进入考生文件夹下 BOP\YINY 文件夹中,找到文件 FILE.WRI,右键点击选择“复制”,再进入考生文件夹下 SHEET 文件夹中,在空白处右键点击,选择“粘贴”。

    4 、文件(文件夹)的移动

    解题方法:找到要移动的文件(文件夹),右键点击,选择“剪切”,到要求移动到的文件夹空白处右键点击,选择“粘贴”。

    例题:将考生文件夹下 HUI\MING 文件夹中的文件夹 HAO 移动到考生文件夹下 LIANG 文件夹中。

    解题:进入考生文件夹下 HUI\MING 文件夹中,找到文件夹 HAO,右键点击选择“剪切”,再进入考生文件夹下 LIANG 文件夹中,在空白处右键点击,选择“粘贴”。

    5 、文件及文件夹的重命名

    解题方法:找到要重命名的文件或文件件,右键点击,选择“重命名”,输入文件名即可,文件重命名前要注意扩展名。

    例题:将考生文件夹下 HIGER\YION 文件夹中的文件 ARIP.BAT 重命名为FAN.BAT。

    解题:进入考生文件夹下 HIGER\YION 文件夹中,找到文件 ARIP.BAT 右键点击,选择“重命名”,输入文件名 FAN.BAT。

    6 、 文件属性的修改

    解题方法:找到要修改属性的文件,右键点击,选择“属性”,按题目的要求设置属性。“存档”属性需要点击“高级”按钮并设置“可以存档文件”选项。

    注意:题目中没有提到的属性保持原样

    例题:将考生文件夹下 DAWN 文件夹中的文件 BEAN.PAS 的存档和隐藏属性撤消,并设置成只读属性

    解题:进入考生文件夹下的 DAWN 文件夹,找到 BEAN.PAS 文件,右键点击,选择“属性”,去掉“隐藏”选项框中的勾,并勾上“只读”,再点击“高级”按钮,去掉“可以存档文件”前的勾,确定再确定即可。

    7 、文件夹属性的修改

    解题方法:找到要修改属性的文件夹,右键点击,选择“属性”,按题目的要求设置属性。 “存档”属性需要点击“高级”按钮并设置“可以存档文件夹”选项。修改文件夹属性时会提示“确认属性更改”的位置,按题目要求设置即可(题目若无要求,则设置为“仅将更改应用于此文件夹”选项)。注意:题目中没有提到的属性保持原样。

    例题:将考生文件夹下的 ZHA 文件夹设置成隐藏属性

    解题:进入考生文件夹,找到 ZHA 文件夹,右键点击,选择“属性”,在对话框中找到“隐藏”在前面的选项框中打勾,如出现 “确认属性更改”对话框,则按题目要求,选择“仅将更改应用于此文件夹”选项并确定。

    8 、创建快捷方式

    解题方法:找到要创建快捷方式的文件或文件夹,右键点击,选择“创建快捷方式”,按题目的要求修改快捷方式的文件名,并放置到题目中要求的位置。

    例题:为考生文件夹下 DESK\CUP 文件夹中的 CLOCK.EXE 文件建立名为CLOCK 的快捷方式,存放在考生文件夹下。

    解题:进入考生文件夹下 DESK\CUP 文件夹,找到 CLOCK.EXE 文件,右键点击,选择“创建快捷方式”,将快捷方式文件重命名为 CLOCK,并将其移动到考生文件夹中。

    9 、删除文件或文件夹

    解题方法:找到要删除的文件或文件夹,右键点击,选择“删除”即可。

    例题:将考生文件夹下 XEN\FISHER 文件夹中的文件夹 EAT 删除。

    解题:进入考生文件夹下 XEN\FISHER 文件夹,找到文件夹 EAT,右键点击,选择“删除”即可

    10 、搜索文件并进行操作

    解题方法:打开要求进行搜索的文件夹,点击上方地址栏右侧的搜索栏(见下图)

    输入要查找的文件名(“*”可以代替任意多个字符,“?”可以代替任意一个字符),并按题目要求进行进一步操作

    例题 1 1 :搜索考生文件夹下第三个字母是 C 的所有文本文件,将其移动到考生文件夹下的 YUE\BAK 文件夹中

    解题:打开考生文件夹,点击上方地址栏右侧的搜索栏,输入“??C*.TXT”(不包含引号),在下方窗口中找到文件,并按要求移动到指定文件夹。

    例题 2 2 :搜索考生文件夹下第一个字母是 S 的所有 PPT 文件,将其文件名的第一个字母更名为 B,原文件的类型不变

    解题:打开考生文件夹,点击上方地址栏右侧的搜索栏,输入“S*.PPT”(不包含引号),在下方窗口中找到文件,并按要求对搜索到的文件 逐个进行重命名操作。

    二、字处理

    题型及解题方法

    1 、字体设置

    题型:包括要求设置中西文字体,字形,字号,字体颜色,下划线,着重号,上标、下标、阴影、空心等效果、修改字符间距、设置文本效果等。

    解题方法:选中要设置字体的文字,切换到“开始”选项卡,在“字体”组中按题目的要求设置,或点击“字体”组右下角的小箭头(如下图),打开“字体”对话框进行设置。

    例题:将标题段文字设置为小三号黑体字(其中英文字体设置为“使用中文字体”)、红色、加单下划线,字符间距加宽 3 磅。将正文各段中所有英文文字设置为 Bookman Old Style 字体,中文字体设置为仿宋_GB2312,所有文字及符号设置为小四号,常规字形

    解题:选中标题段文字,切换到“开始”选项卡,点击“字体”组右下角的小箭头,打开“字体”对话框,在“字体”页中将“中文字体”设为“黑体”,“西文字体”设为“使用中文字体”,“字体颜色”设为“红色”,“下划线线型”设为单线,选到“字符间距”页,“间距”设为“加宽”,“磅值”设为“3 磅”,并按确定。选中正文各段文字,点击“字体”组右下角的小箭头,打开“字体”对话框,在“字体”页中将“中文字体”设为“仿宋_GB2312”,西文字体”设为“Bookman Old Style”,“字形”设为“常规”,“字号”设为“小四”。完成后点“确定”

    2  、段落设置

    题型:包括要求设置对齐方式,左右缩进,首行缩进、悬挂缩进,段前后间距,行距,段前段中分页等

    解题方法:选中要设置的段落,切换到“开始”选项卡,在“段落”组中按题目的要求设置,或点击“段落”组右下角的小箭头,打开“段落”对话框进行设置。

    例题:正文各段落左右各缩进 2 字符,首行缩进 1.5 字符,段前间距 1 行,行距为 2 倍行距

    解题:选中正文各段,切换到“开始”选项卡,点击“段落”组右下角的小箭头,打开“段落”对话框,缩进“左”中设为“2 字符”,缩进“右”中设为“2 字符”,“特殊格式”设为“首行缩进”,“度量值” 设为“1.5 字符”,间距“段前”设为“1 行”,“行距”设为“2 倍行距”。完成后点“确定”

    3  、页面设置

    题型:设置页面纸型,页边距,纸张方向,每行字符数,每页行数

    解题方法:切换到“页面布局”选项卡,在“页面设置”组中通过各命令进行设置,或点击“页面设置”组右下角的小箭头,打开“页面设置”对话框进行设置例题:将文档页面的纸型设置为“A4”,页面上下边距各为 2.5 厘米,左右边距各为 3.5 厘米,页面设置为每行 41 字符,每页 40 行。页面垂直对齐方式为“居中对齐”。

    解题:切换到“页面布局”选项卡,点击“页面设置”组右下角的小箭头,打开“页面设置”对话框,在“页边距”页中,页边距“上”“下”设为 2.5 厘米,页边距“左”“右”设为 3.5 厘米。切换到“文档网格”页,“网络”中设置为“指定行和字符网格”,字符“每行”设为“41”,行“每页” 设为“40”。切换到“版式”页,页面“垂直对齐方式”设为“居中”。完成后点“确定”

    4  、设置页面颜色、页面边框 、水印

    解题方法:切换到“页面布局”选项卡,点击“页面背景”组中的“页面颜色”命令、“页面边框”命令或“水印”命令,设置要求的项目。

    例题:将页面颜色设置为黄色(标准色)

    解题: 切换到“页面布局”选项卡,点击“页面背景”组中的“页面颜色”命令,选择“标准色”中的“黄色”

    5 、设置项目符号或编号

    题型:包括设置段落的项目符号,更改段落的项目符号,去掉段落的项目符号。给段落设置编号,更改编号类型,去掉编号。

    解题方法:切换到“开始”选项卡,点击“段落”组中的“ ”命令设置项目符号,点击“段落”组中的“ ”命令设置编号

    例题:将正文设置项目符号“●”

    解题:选中正文,切换到“开始”选项卡,点击“段落”组中的“ ”命令,选择项目符号库中的 “●”

    6 、为文字或段落设置边框和底纹

    题型:包括设置文字边框,为文字添加底纹,设置段落边框,为段落添加底纹,为表格添加底纹

    解题方法:选中要设置部分,再切换到“开始”选项卡,在“段落”组中点击“边框”命令( )右侧的小箭头,选择“边框与底纹”选项,并进行设置。 注意点:设置时注意题目要求,应用范围为“文字”还是“段落。

    例题:将标题段文字设置为红色边框、黑色底纹

    解题:选中标题段文字,切换到“开始”选项卡,在“段落”组中点击“边框”命令( )右侧的小箭头,选择“边框与底纹”选项,在“边框”页中选择“方框”,“颜色”设为“红色”,“应用于”设为“文字”。切换到“底纹”页,“填充”设为“黑色”。完成后点“确定”

    7 、设置分栏

    题型:为段落设置分栏,设置栏数,宽度,分隔线

    解题方法:切换到“页面布局”选项卡,在“页面设置”组中的“分栏”命令进行设置。

    例题:将最后一段分成三栏,栏宽相等,栏间加分隔线

    解 题:选中最后一段,切换到“页面布局”选项卡,在“页面设置”组中的“分栏”命令中的“更多分栏”选项打开“分栏”对话框,将“预设”设为“三栏”,“分隔线”选项打上勾,“宽度和间距”中“栏宽相等”打上勾。完成后点“确定”

    8 、设置页码题型:为段落添加页码,设置页码的位置,对齐方式,页码的格式和页码的编排

    解题方法:切换到“插入”选项卡,点击“页眉和页脚”组中的“页码”命令。

    例题:在页面底端插入“普通数字 3”样式页码,并将起始页码设置为“3”

    解题:切换到“插入”选项卡,点击“页眉和页脚”组中的“页码”命令,选择“页面底端”中的“普通数字 3”,切换到“设计”选项卡,点击“页眉和页脚”组中的“页码”命令,选择“设置页码格式”选项,并在“页码格式”对话框中将“起始页码”设为“3”

    9 、设置页眉和页脚

    题型:为页面添加页眉、页脚,并设置相关的格式

    解题方法:切换到“插入”选项卡在“页眉和页脚”组中的“页眉”“页脚”命令进行设置。

    例题:设置页眉为“排序”、字体大小为“小五号字”

    解题:切换到“插入”选项卡,在“页眉和页脚”组中点击“页眉”命令,选择“编辑页眉”选项,输入“排序”;再选中文字,并切换到“开始”选项卡,通过“字体”组将字号设为“小五”

    10 、插入分页符

    题型:将文章某部分放在下一页

    解题方法:切换到“插入”选项卡,在“页”组中点击“分页”命令。

    例题:插入分页符,将最后一段放在第二页

    解题:将光标定位到最后一段之前(或倒数第二段最后),切换到“插入”选项卡,在“页”组中点击“分页”命令

    11 、文字替换

    题型:将文中的某一文字替换为另一些文字

    解题方法:切换到“开始”选项卡,点击“编辑”组中的“替换”命令,输入查找内容和替换内容。

    例题:将文中所有错词“严肃”替换为“压缩”

    解题:切换到“开始”选项卡,点击“编辑”组中的“替换”命令,“查找内容”设为“严肃”,“替换为”设为“压缩”,点击“全部替换”,完成后关闭“查找和替换”对话框。

    12 、格式替换

    题型:将文中的某一文字替换为另一种格式

    解题方法:切换到“开始”选项卡,点击“编辑”组中的“替换”命令,输入查找内容和替换内容,输入查找内容和替换内容,并点击 “更多”,选中替换内容后,设置替换格式。

    例题:将正文所有“计算机”设置为加粗

    解题:切换到“开始”选项卡,点击“编辑”组中的“替换”命令,输入查找内容和替换内容,“查找内容”输入“计算机”,“替换为” 输入“计算机”,点击“更多”按钮,再点击下方“格式”,选择“字体”,“字形” 设为“加粗”,点击确定。再点击“全部替换”,完成后关闭“查找和替换”对话框。

    13 、首字下沉

    题型:设置文字首字下沉,以及下沉行数

    解题方法:切换到“插入”选项卡,在“文本”组中选择“首字下沉”命令。

    例题:正文第二段首字下沉 2 行

    解题:选中正文第二段,切换到“插入”选项卡,点击“文本”组中的“首字下沉”命令下方的小箭头,选择“首字下沉选项”打开“首字下沉”对话框,将“位置”设为“下沉”,“下沉行数”设为“2”,完成后点“确定”。

    14 、插入脚注

    题型:插入脚注并输入脚注内容

    解题方法:切换到“引用”选项卡,点击“脚注”组中的“插入脚注”命令

    例题:为倒数第 9 行插入脚注,脚注内容为“资料来源:中华人民共和国知识产权局”,脚注字体为小五号宋体。

    解题:选中第 9 行文字,切换到“引用”选项卡,点击“脚注”组中的“插入脚注”命令,输入文字“资料来源:中华人民共和国知识产权局”,选中脚注文字,切换到“开始”选项卡,在“字体”组,将“字号”设为“小五”,完成后点“确定”。

    15 、分段与段落合并:

    分段:在要分段的位置按回车键

    段落合并:删除要合并的两个段落之间的段落标记“ ”    例题:略

    16 、自定义颜色

    解题方法:颜色选择框中,点击“其他颜色”,选择“自定义”页面,并输入红绿蓝色的数值。

    例题:底纹为自定义标签的红色:130、绿色:130、蓝色:100

    解题:选择“格式”菜单中的“边框和底纹”,底纹页中点击“其他颜色”,选择“自定义”页,“红色”设为“130”,“绿色”设为“130”,“蓝色”设为“100”,完成后点“确定”

    17 、插入表格

    题型:插入表格,表格行、列、单元格的插入

    解题方法:切换到“插入”选项卡,点击“表格”组中的“表格”命令,选择“插入表格”选项,并在“插入表格”对话框中按要求设置

    例题:制作 4 行 5 列表格

    解题:切换到“插入”选项卡,点击“表格”组中的“表格”命令,选择“插入表格”选项,并在“插入表格”对话框中将“列数”设为“5”,“行数” 设为“4”,完成后点“确定”

    18 、设置表格对齐方式

    解题方法:选中表格,切换到“开始”选项卡,在“段落”组选择相应的对齐命令

    例题:设置表格居中

    解题:选中表格,切换到“开始”选项卡,在“段落”组选择 命令

    1 9 、设置表格文字对齐方式

    解题方法:选中表格内容,切换到“布局”选项卡,在“对齐方式”组的“单元格对齐方式”命令(如右图),选择要求的方式。

    例题:制作 4 行 3 列表格,填入数据。水平方向上文字为居中对齐,数值为右对齐

    解题:选中表格中的文字,切换到“布局”选项卡,在“对齐方式”组的“单元格对齐方式”命令中,选择其中的居中对齐项;选中表格中的数值,在“对齐方式”组的“单元格对齐方式”命令中,选择其中的右对项       

    20 、表格行、列、单元格删除

    解题方法:将光标移要要删除的行或列的某一单元格,切换到“布局”选项卡,点击“行和列”组中的“删除”命令,选择适当的选项

    例题:删除表格第三行

    解题:将光标点到第三行中的任意一个单元格,切换到“布局”选项卡,点击“行和列”组中的“删除”命令,选择“删除行”选项

    21 、文字转换为表格

    解题方法:选中要转换为表格的文字,切换到“插入”选项卡,点击“表格”组“表格”项下面的小箭头( ),在出现的菜单中选择“文本转换成表格”,注意选择合适的分隔符

    22 、设置表格的行高、列宽

    解题方法:选中表格的行或列,切换到“布局”选项卡,在“单元格大小”组中通过 命令设置行高,通过 命令设置列宽。

     

    23 、设置表格线的粗细、颜色、底纹

    解题方法:选中要设置部分,再切换到“开始”选项卡,在“段落”组中点击“边框”命令 右侧的小箭头,选择“边框与底纹”选项,并进行设置

    例题:将表格外部框线设置成蓝色,1 1 / 2 磅,表格内部框线为红色,1 磅,并为表格第一行单元格添加黄色底纹

    解题:选中表格,切换到“开始”选项卡,在“段落”组中点击“边框”命令)右侧的小箭头,选择“边框与底纹”选项,在“边框”页“设置”中选择“方框”, “颜色”设为“蓝色”,“宽度”设为“1 1 / 2 磅”,完成后点击“确定”;再次选中表格,点击“边框”命令 右侧的小箭头,选择“边框与底纹”选项,在“边框”页“设置”中选择“自定义”,“颜色”设为“红色”,“宽度”设为“1 磅”,然后在右侧“预览”中点击如右图所示红色方框标记的按钮,设置内部框线,完成后点击“确定”;选中表格第一行,选择“格式”菜单中的“边框和底纹”,切换到“底纹”页,将“填充” 设置为“黄色”,完成后点击“确定”

    24 、表格 样式

    解题方法:选中要设置的表格,切换到“设计”选项卡,在“表格样式”组中选择要设置的样式

    例题:使用表格样式“浅色底纹-强调文字颜色 5”修改表格

    解题:选中表格,切换到“设计”选项卡,在“表格样式”组中选择“浅色底纹-强调文字颜色 5”

    25 、单元格的合并、拆分

    解题方法:选中要合并或拆分的单元格,切换到“布局”选项卡,选择“合并”组中的“合并单元格”或“拆分单元格”。

    例题:将表格前二列的 1-2 行单元格合并为一个单元格,将第三列至第四列的2-4 行拆分为 3 列。

    解题:选中表格第一、二列的第 1、2 行,切换到“布局”选项卡,选择“合并”组中的“合并单元格”;选中表格第三、四列的第 2-4 行,选择“合并”组中的“拆分单元格”,将“列数”设为“3”,完成后点击“确定”。

    26 、表格排序

    解题方法:选中要排序的内容,切换到“布局”选项卡,点击“数据”组中的“排序”命令

    例题:排序依据为“工资”列(主要关键字)、“数字”类型降序对表格进行排序

    解题:选中要排序的数据(包括标题),切换到“布局”选项卡,点击“数据”组中的“排序”命令,将“主要关键字”设为“工资”,“类型”设为“数字”,选择“降序”,完成后点击“确定”。

    27 、公式计算

    解题方法:将光标放到要得出结果的单元格,切换到“布局”选项卡,点击“数据”组中的“公式” 命令,在出现的对话框中选择相应的公式和参数进行运算

    常用公式:

    COUNT 计数SUM 求和AVERAGE 求平均值MAX 求最大值MIN 求最小值

    常用参数:

    LEFT 计算当前单元格左侧的所有单元格

    RIGHT 计算当前单元格右侧的所有单元格

    ABOVE 计算当前单元格上方的所有单元格

    BELOW 计算当前单元格下方的所有单元格

    例题 1 : :计算下表学生各科成绩的平均分

    解题:选中第二行第 5 列的单元格,切换到“布局”选项卡,点击“数据”组中的“公式”)命令,将“公式” 设为“=average(left)” ,完成后点击“确定”;其他单元格依次做以上操作计算出结果。也可以像电子表格一样用单元格计算,行为数字,列为字母如下表格:

    计算第一行第一列与第一行第二列的值公式为:=A1+B1

    例题 2 : :在“积分”列按公式“积分=3*胜+平”计算并输入相应内容

    解题:点击第二行“积分”列对应的单元格,切换到“布局”选项卡,点击“数据”组中的“公式”命令,将“公式”设为“=3*D2+E2”,完成后点击“确定”;其他单元格依次按“=3*D3+E3”、“=3*D4+E4”计算出结果。

    分析: :队名为“大连实德”的队伍胜场数存在放第四列(对应字母为 D),第 2行(对应数字为 2),因此该单元格地址为 D2。队伍平场数存在放第五列(对应字母为 E),第 2 行(对应数字为 2),因此该单元格地址为 E2。所以 3*胜+平,转换为公式即“=3*D2+E2”。同理其他各队行变化而列不变。

    三、电子表格

    题型及解题方法

    1 、合并单元格并居中

    解题方法:选中要合并的单元格,切换到“开始”选项卡,点击“对齐方式”组中的“合并后居中” 命令

    例题:将工作表 sheet1 的 A1:D1 单元格合并为一个单元格,内容居中

    解题:选中 A1:D1 单元格,切换到“开始”选项卡,点击“对齐方式”组中的“合并后居中”命令

    2 、工作表 的插入、删除、重命名、复制

    解题方法:在工作窗口下方,工作表名处点右键,选择快捷菜单中的相应选项

    例题:将工作表命名为“二季度销售情况表”

    解题:在工作窗口下方,找到工作表名“sheet1”,在上面点击右键,选择快捷菜单中的“重命名”,输入“二季度销售情况表”,完成后按回车键。

    3 、设置 单元格背景颜色

    解题方法:选中要设置的单元格,切换到“开始”选项卡,点击“单元格”组中的“格式”命令,选择“设置单元格格式”选项,将出现的“设置单元格格式”对话框切换到 “填充”页,并选择相应的颜色,下方的图案下拉菜单中选择相应的图案

    例题:设置数据系列列格式图案内部背景颜色为纯色填充水绿色,强调文字颜色 5,淡色 60%

    解题:选中所有数据 单元格,切换到“开始”选项卡,点击“单元格”组中的“格式”命令,选择“设置单元格格式”选项,将出现的“设置单元格格式”对话框切换到 “填充”页,点击“图案颜色”的下拉列表,选择“水绿色,强调文字颜色 5,淡色 60%”

    4 、设置字体

    题型:包括要求设置中文字体,字形,字号,颜色,下划线,删除线,上标下标等效果

    解题方法:切换到“开始”选项卡,点击“单元格”组中的“格式”命令,选择“设置单元格格式”选项,将出现的“设置单元格格式”对话框切换到“字体”页进行设置

    5 、设置居中方式

    题型:包括要求设置居中方式、文本换行、文本方向、单元格合并

    解题方法:选中要修改的单元格,切换到“开始”选项卡,点击“单元格”组中的“格式”命令,选择“设置单元格格式”选项,将出现的“设置单元格格式”对话框切换到“对齐”进行设置

    6 、设置单元格内容格式

    解题方法:选中要修改的单元格,切换到“开始”选项卡,点击“单元格”组中的“格式”命令,选择“设置单元格格式”选项,将出现的“设置单元格格式”对话框切换到“数字”页进行设置

    例题:设置单元格格式的数字分类为百分比,小数位数为 2

    解题:选中要修改的单元格,切换到“开始”选项卡,点击“单元格”组中的 “格式”命令,选择“设置单元格格式”选项,将出现的“设置单元格格式”对话框切换到“数字”页,将“分类”设为“百分比”,右侧“小数位数”设为“2”,完成后点击“确定”

    7 、套用 表格 格 式

    解题方法:选中要套用格式的单元格,切换到“开始”选项卡,点击“样式”组中的“套用表格格式”命令,并选择相应的格式

    例题:将 A2:M5 区域格式设置为自动套用格式“表样式浅色 2”

    解题:选中 A2:M5 单元格,切换到“开始”选项卡,点击“样式”组中的“套用表格格式”命令,选择“表样式浅色 2”

    8 、设置单元格样式

    解题方法:选中要套用格式的单元格,切换到“开始”选项卡,点击“样式”组中的“单元格样式”命令,并选择相应的格式

    例题:设置“备注”列的单元格样式为“40%-强调文字颜色 2”

    解题:选中“备注”列,切换到“开始”选项卡,点击“样式”组中的“单元格样式”命令,选择“40%-强调文字颜色 2”样式

    9 、数据透视表

    解题方法:选中要操作的数据,切换到“插入”选项卡,点击“表格”组中的“数据透视表”命令,并按题目要求设置“行标签”、“列标签”和“数值”等选项

    例题:对工作表“图书销售情况表”内数据清单的内容建立数据透视表,按行为“图书类别”,列为“经销部门”,数据为“销售额(元)”求和布局,并置于现工作表的 H2:L7 单元格区域

    解题:选中工作表内所有的数据(包括列标题),切换到“插入”选项卡,点击“表格”组中的“数据透视表”命令,将“选择放置数据透视表的位置”设置为“现有工作表”,“位置”设置为“H2:L7”然后点击“确定”,将“数据透视表字段列表”中的“图书类别”字段拖动到“行标签”,将“经销部门”字段拖动到“列标签”,将 “销售额(元)”字段拖动到“数值”。

    10 、排序

    解题方法:选中所有数据(包括列名),切换到“数据”选项卡,点击“排序和筛选”组中的“排序”命令,在出现的排序对话框中按要求设置相关选项

    例题:对工作表“图书销售情况表”内数据清单的内容按主要关键字“经销部门” 的降序次序和次要关键字“季度”的升序次序进行排序

    解题:选中工作表内所有的数据(包括列标题),切换到“数据”选项卡,点击“排序和筛选”组中的“排序”命令,将“主要关键字”设为“经销部门”并选中“降序”,将“次要关键字” 设为“季度”并选中“升序”,完成后点击“确定 ”

    11 、自动筛选

    解题方法:选中要筛选数据的标题部分,切换到“数据”选项卡,点击“排序和筛选”组中的“筛选”命令,然后在标题部分点击箭头,选“自定义”输入相应条件

    例题:对工作表“产品销售情况表”内数据清单的内容进行自动筛选,条件依次为第 2 分店或第 3 分店、空调或手机产品

    解题:选中数据的列标题,切换到“数据”选项卡,点击“排序和筛选”组中的“筛选”命令,点击“分店名称”标题旁的下拉箭头,选择“文本筛选”中的“等于”选项,在第一个条件行中选择“等于”,后面的框中选择“第 2 分店”,第一个条件行与第二个条件行之间选中“或”,在第二个条件行中选择“等于”,后面的框中选择“第 3 分店”,完成后确定;再点击“产品名称”标题旁的下拉箭头,“文本筛选”中的“等于”选项,在第一个条件行中选择“等于”,后面的框中选择“空调”,第一个条件行与第二个条件行之间选中“或”,在第二个条件行中选择“等于”,后面的框中选择“手机”,完成后确定

    12 、高级筛选

    解题方法:在题目要求的单元格内输入筛选条件,切换到“数据”选项卡,点击“排序和筛选”组中的“筛选”命令,然后在列表区域选择要筛选的数据,条件区域选择输入了条件的单元格。多个条件的情况下,在同一行中为“与”,在同一列中为“或”

    例题:对数据进行高级筛选(在数据表格前插入三行,条件区域设在 A1:F2 单元格区域,将筛选条件写入条件区域的对应列上。),条件为社科类图书且销售量排名在前三十名

    解题:在数据表格前插入三行,如下图在 A1:F2 单元格中,与条件区域对应列上输入条件(条件为与输入在同一行,或输入在不同行)

    切换到“数据”选项卡,点击“排序和筛选”组中的“筛选”命令,将“列表区域”选择为工作表中的数据,将“条件区域”选择为 A1:F2 单元格,完成后点击“确定”

    13 、分类汇总操作

    解题方法:切换到“数据”选项卡,点击“分组显示”组中的“分类汇总”命令,并按要求设置选项

    例题:对工作表“选修课程成绩单”内的数据清单的内容进行分类汇总(提示:分类汇总前先按课程名称升序排序),分类字段为“课程名称”,汇总方式为“平均值”,汇总项为“成绩”,汇总结果显示在数据下方

    解题:先按课程名对数据进行升序排序(方法见前文题型 10),选中所有数据(包括列标题),切换到“数据”选项卡,点击“分组显示”组中的“分类汇总”命令,将“分类字段”设为“课程名称”,将“汇总方式”设为“平均值”,在“选定汇总项”中选择“成绩”,并勾选汇总结果显示在数据下方,其他设置保持原样,完成后点击“确定”

    14 、创建图表

    解题方法:切换到“插入”选项卡,点击“图表”组中相应的图表类型,并按要求设置相关选项

    例题:选取“现工资”列和“调薪后工资”列的单元格内容,建立“簇状柱形图”(系列产生在“列”),图表标题为“工资统计图”,设置图表绘图区格式为“白色,背景 1”,图例位置置底部,将图插入到表的 A20:E34 单元格区域内

    解题:选中“现工资”列和“调薪后工资”列的单元格内容(包括列标题),切换到“插入”选项卡,点击“图表”组中的“柱形图”命令并选择“簇状柱形图”;切换到“布局”选项卡,点击“标签”组中的“图表标题”命令,选择“图表上方”选项,并输入标题名称“工资统计图”;点击“背景”组中的“绘图区”命令,选择“其他绘图区选项”,将“填充”方式设置为“纯色填充”,颜色设置为“白色,背景 1”; 点击“标签”组中的“图例”命令,选择“在底部显示图例”选项,然后将图表移动并调整大小到 A20:E34 单元格区域内

    15 、条件格式

    解题方法:选择要设置的单元格,切换到“开始”选项卡,点击“样式”组中的“条件格式”命令,按要求设置规则、条件和相应的显示格式

    例题:利用条件格式将总工资大于 6000 的单元格字体颜色设置为绿色

    解题:选中总工资列所有数据(不包括列标题),切换到“开始”选项卡,点击“样式”组中的“条件格式”命令,选择“突出显示单元格规则”下的“大于”,并将出现的对话框中“为大于以下值的单元格设置格式”选项设置为“6000”,点击“设置为”选框,选择“自定义格式”选项,切换到“字体”页,将“颜色”设为“绿色”,完成后点击“确定”并再次点击“大于”对话框的“确定”

    16 、公式计算

    解题 方法:点击计算结果单元格,输入“=”,并按要求点击相关单元格并输入运算符,完成后按回车键

    例题:计算“金额”列的内容(金额=数量*单价)

    解题:选中“金额”列的第一个单元格,输入“=”,点击该行“数量”列的单元格,输入“*”,点击该行“单价”列的单元格,完成后按键盘“回车”键计算出当前行的“金额”,其他各行可点击已计算出的“金额”单元格右下角的填充柄拖动得出

    17 、函数计算

    解题方法:点击计算结果单元格,切换到“公式”选项卡,点击“函数库”组中的“插入函数”命令,并选择相应的函数

    常用函数与用法

    注:表中第 1-5 个函数,可以点击“开始”选项卡中的“编辑”组“ ”命令快快速选取

    例题 1: :计算全年平均值列的内容,计算“最高值”和“最低值”行的内容

    解题:选中“全年平均”列下方的第一个单元格,切换到“开始”选项卡,点击“编辑”组中“ ”命令右边的小箭头,选择“平均值”,用鼠标选中该行“2 月”至“12 月”列各单元格,按键盘“回车”键得出结果,其余各行可拖动填充柄填充;选中“最高值”行右侧第一个单元格,点击点击“编辑”组中“ ”命令右边的小箭头,选择“最大值”,用鼠标选中该列各数据单元格,按键盘“回车”键得出结果,其余各列可拖动填充柄填充;选中“最低值”行右侧第一个单元格,点击“编辑”组中“ ”命令右边的小箭头,选择“最小值”,用鼠标选中该列各数据单元格,按键盘“回车”键得出结果,其余各列可拖动填充柄填充;例题 2 :学生身高在 160 厘米及以上在备注行给出“继续锻炼”信息,如果学生身高在 160 厘米以下给出“加强锻炼”信息(利用 IF 函数完成)

    解题:选中“备注”列下方第一个单元格,切换到“公式”选项卡,点击“函数库”组中的“插入函数”命令,选择“IF”函数,点击“确定”,在“函数参数”对话框中,在“Logical_test”点击,然后选中该行“身高”列的单元格,再输入“>=160”(不包括引号),在“Value_if_true” 框中输入”继续锻炼”(包括引号,引号应为英文状态的引号),在“Value_if_false” 框中输入”加强锻炼”(包括引号,引号应为英文状态的引号),完成后点击“确定”得出结果,其他各行可拖动填充柄填充

    附录:

    1 、F COUNTIF 与 与 F SUMIF 函数使用举例

    2 、K RANK 函数使用举例

    四、演示文稿

    题型及解题方法

    1 、 幻灯片操作

    题型:包括插入新幻灯片,删除幻灯片,隐藏幻灯片,复制幻灯片

    解题:

    插入幻灯片:在左侧浏览区,选中要插入幻灯片的位置,切换到“开始”选项卡,点击“幻灯片”组中的“新建幻灯片”命令,并选择要求的版式

    删除幻灯片:在左侧浏览区,选中要删除的幻灯片,点击右键,选择快捷菜单中的“删除幻灯片”

    隐藏幻灯片:在左侧浏览区,选中要隐藏的幻灯片,点击右键,选择快捷菜单中的“隐藏幻灯片”

    2 、 插入操作

    题型:包括插入表格,插入艺术字,插入图片及相关设置

    解题:

    插入表格:选中要插入的幻灯片,切换到“插入”页,点击“表格”组中的“表格”命令,设置好要求的行数和列数

    插入艺术字:选中要插入的幻灯片,切换到“插入”页,点击“文本”组中的“艺术字”命令,选择要求的艺术字样式并输入文字,完成后通过“格式”选项卡设置艺术字的相关选项

    插入图片:选中要插入的幻灯片,切换到“插入”页,点击“图像”组中的“图片”或“剪贴画”命令,并通过 “格式”选项卡设置图片的相关选项

    3 、设置版式

    解题方法:选中要设置的幻灯片,切换到“开始”选项卡,点击“幻灯片”组中的“版式”命令,并选择要求的版式。

    例题:第二张幻灯片版式改为“两栏内容”

    解题:选中第二张幻灯片,切换到“开始”选项卡,点击“幻灯片”组中的“版式”命令,选择“两栏内容”。

    4 、幻灯片内容定位

    解题方法:选中要设置位置项目,切换到“格式”选项卡,点击“大小”组右下角的箭头,打开“显示形状格式”对话框,选择左侧栏的“位置”项,并在右侧设置“垂直”、“水平”位置。

    例题:设这个文字所在文本框的位置:水平:3 厘米,度量依据:左上角,垂直:17.4 厘米,度量依据:左上角

    解题:选中要设置位置项目,切换到“格式”选项卡,点击“大小”组右下角的箭头,打开“显示形状格式”对话框,选择左侧栏的“位置”项,并在右侧将“水平”设置为“3 厘米”,“自”“左上角”,“垂直”设置为“17.4 厘米”,“自”“左上角”。

    5 、设置自定义动画

    解题方法:选中要设置动画的项目,切换到“动画”选项卡,在“动画”组中选择相应的动画效果,并点击右侧“效果选项”命令设置选项。调整动画顺序:点“高级动画”组中的“动画窗格”命令,在右侧出两现的“动画窗格”栏中拖动调整动画顺序

    例题:副标题动画效果为:“进入——左右向中央收缩,劈裂”

    解题:选中副标题,切换到“动画”选项卡,在“动画”组中选择“劈裂”效果,并点击右侧“效果选项”命令,选择“左右向中央收缩”选项。

    6 、设置背景

    解题方法:选中要设置的幻灯片,切换到“设计”选项卡,点击“背景”组中的“背景样式”命令,选择“设置背景格式”选项,在出现的“设置背景格式”对话框中按要求设置。注:设置后选择“关闭”为设置当前幻灯片背景,选择“全部应用”为设置所有幻灯片背景。

    例题:第一张幻灯片的背景填充为“渐变填充”,“预设颜色”为“乌金坠地”,类型为“线性”,方向为“线性向下”

    解题:选中第一张幻灯片,切换到“设计”选项卡,点击“背景”组中的“背景样式”命令,选择“设置背景格式”选项,在出现的“设置背景格式”对话框中,将填充设为“渐变填充”,“预设颜色”设为“乌金坠地”, “类型”设为“线性”, “方向”设为“线性向下”,完成后点击“关闭”。

    7 、设置文字字体等

    解题方法:选中要设置的文字,开始”选项卡,在“字体”组中按题目的要求设置,或点击“字体”组右下角的小箭头,打开“字体”对话框进行设置

    8 、设置切换效果

    解题方法:切换到“切换”选项卡,在“切换到此幻灯片”组中设置要求的切换方式,并通过右侧的“效果选项”命令设置切换效果。

    例题:全文幻灯片的切换效果设置为“垂直百叶窗”

    解题:切换到“切换”选项卡,在“切换到此幻灯片”组中选择“百叶窗”,然后点击右侧的“效果选项”命令选择“垂直”选项。

    9 、设置 主 题

    解题方法:切换到“设计”选项卡,在“主题”组中选择相应的主题

    例题:使用“沉稳”主题修饰全文

    解题:切换到“设计”选项卡,在“主题”组中选择“沉稳”主题

    10 、设置超链接

    解题方法:选中要设置超链接的文字或图片,切换到“插入”选项卡,点击“链接”组中的“超链接”命令,在出现的“插入超链接”对话框中选择需要链接到的位置

    例题:在第三张幻灯片的标题文本“列车快速舒适”上设置超链接,链接对象是第二张幻灯片

    解题:选中第三张幻灯片的标题文本“列车快速舒适”, 切换到“插入”选项卡,点击“链接”组中的“超链接”命令,在出现的“插入超链接”对话框左侧“链接到”栏选中“本文档中的位置”,并在“请选择文档中的位置”中选择第二张幻灯片,完成后点击“确定”

    11 、设置放映方式

    解题方法:切换到“幻灯片放映”选项卡,点击“设置”组中的“设置幻灯片放映”命令,并在出现的对话框中设置要求的选项

    例题:放映方式为“演讲者放映(全屏幕)”

    解题:切换到“幻灯片放映”选项卡,点击“设置”组中的“设置幻灯片放映”命令,在出现的对话框中的“放映类型”中选择“演讲者放放映(全屏幕)”,完成后点击“确定”

    12 、设置母版

    解题方法:切换到“视图”选项卡,点击“母版视图”组中的“幻灯片母版”命令,并按要求设置。如需要加入文字,要点击“母版版式”组中的“插入占位符”命令,选择“文本”,并输入文字。完成后点击“关闭”组中的“关闭母版视图”命令

    五、上网

    题型及解题方法

    1 、保存网页

    解题方法:选择“文件”菜单中的“另存为”选项,注意“保存类型”是文本文件,或是 HTML 文件

    2 、保存图片

    解题方法:在图片上点击右键,选择快捷菜单中的“图片另存为”,将图片保存

    3 、创建网页快捷方式

    解题方法:在网页空白处,点击右键,选择快捷菜单中的“创建快捷方式”,按要求将快捷方式改名,并复制到考生文件夹

    4 、复制网页内容到文本文件

    解题方法:在指定位置新建文本文件,并按要求将网页的内容或链接地址(能过在右键上点击右键,选择“属性”查看)复制,并粘贴到指定的文本文件中

    5 、下载文件

    解题方法:点击文件下载链接,并按要求将文件保存到指定位置

    6 、发送邮件

    解题方法:打开 OUTLOOK EXPRESS,点击工具栏上的“新建邮件”,输入要求的栏目。如果需要添加附件,使用“插入”菜单中的“邮件附件”。如果要求设置邮件格式,使用“格式”菜单。最后点工具栏上的“发送”。

    7 、给多人发送邮件

    解题方法:每个电子邮件地址之间用“;”分隔

    8 、接收邮件,并保存附件

    解题方法:打开 OUTLOOK EXPRESS,进入本地文件夹的收件箱,双击打开要操作的邮件,使用“文件”菜单中的“保存附件”,并按要求将附件保存到考生文件夹的指定位置。

    9 、回复邮件

    解题方法:打开 OUTLOOK EXPRESS,进入相应的本地文件夹,点击要回复的邮件,点击工具栏上的“答复”,输入要求的栏目,如果需要添加附件,使用“插入”菜单中的“邮件附件”,并发送。

    10 、转发邮件

    解题方法:打开 OUTLOOK EXPRESS,进入相应的本地文件夹,点击要转发的邮件,点击工具栏上的“转发”,输入要求的栏目,并发送。

    11 、保存邮件

    解题方法:打开 OUTLOOK EXPRESS,进入本地文件夹的收件箱,双击要保存的邮件,选择“文件”菜单中的“另存为”,设置好保存位置、文件名和保存类型,然后保存。

    展开全文
  • 大常用百度高级搜索语法

    千次阅读 2019-07-03 14:00:35
    大常用百度高级搜索...语法:把搜索范围限定在网页标题中--intitle 1)使用方式:把查询内容中特别关键的部分用“intitle:”开头; 2)举个例子:找萌宠泰迪的图片,就可以在搜索框中这样写:照片 intitle:泰迪; ...
  • 论文-标题序号等级

    千次阅读 2021-01-22 10:57:30
    呜呜呜,一脸懵逼,还写稿子>_< 目录的三级结构: 一级:第1章 二级:1.1 三级:1.2.1 数字序号级别顺序: 一级标题序号 一、二、三...五级标题序号 ① 六级标题序号 A. 或者(A) 七级标题序号 a. 或者(a) ...
  • word下级标题与上级标题不关联

    万次阅读 2016-11-16 20:34:38
    一级标题级标题之间没有关联,出现如下情况: 可以看到在一级标题2下的二级标题并没有重新开始编号,可以做如下操作: 1、点击“多级列表”、选择列表库中想要选择的列表; 2、在此点击 多级列表、点击下方 ...
  • Markdown语法之标题

    千次阅读 2018-07-21 15:04:15
    底线是=(等于号)表示一级标题; 底线是-(减号)表示二级标题; 实例演示 一级标题 ========= 二级标题 --------- 一级标题级标题 使用#号 标记语法: # +...
  • 今天我们来说说数据可视化,想必很多人在入门数据分析之后...很多人看着下面这些高级上档次的数据可视化都觉得羡慕,但是自己动手的时候又不知从何下手,或者实现难度太大,只能“望图兴叹”。 其实我...
  • 河北省大学生计算机一级考试模拟试卷

    万次阅读 热门讨论 2006-06-22 11:13:00
    河北省普通高等学校 2006年计算机知识和应用能力等级考试 考试系统测试用试卷 ★在考试盘的KSDIR文件夹下有以考生考号为名称的文件夹,其初始目录结构如下:(下图只画出了它下属的第一级文件夹) ★本试卷中的文件...
  • 带你十分钟开发款美颜相机、前言功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入段漂亮的代码片生成个适合你的列表创建个表格设定内容居中、居左、居右SmartyPants...
  • word文档如何设置多级标题

    千次阅读 2019-02-26 09:08:49
    1、设置一级标题 光标放在‘一级标题’内容那,点击‘标题1’ 点击‘多级列表’图标 点击选中个列表样式 一级标题设置完毕 当再次设置一级标题的时候,可以通过选中已经设置好的一级标题,然后点击...
  • 步:二级标题(标题2)格式设置 第六步:二级标题(标题2)格式复制 第步:自定义字体格式 操作区(设置想要的一级标题格式): 示例: 第二步:点击编号列表 操作区: 示例: 第三步:...
  • 、简介 Xception并不是真正意义上的轻量化模型,只是其借鉴depth-wise convolution,而depth-wise convolution又是上述几个轻量化模型的关键点,所以在此一并介绍,其思想非常值得借鉴。 Xception是Google提出的...
  • 微信小程序(8)——五星评分

    千次阅读 2018-08-05 18:10:06
    在制作个医院类小程序的前端时,有个功能是对医院进行评价,通过查找资料并结合自身的知识花了个下午终于解决了。(由于知识欠缺的原因,中间个问题阻碍了几个小时,即为下文所陈列问题的第二条)。 ▍...
  • PyQt5高级界面控件之QTreeWidget(

    万次阅读 多人点赞 2018-08-14 15:52:22
    将子项追加子列表中 setText() 设置显示的节点文本 Text() 返回显示的节点文本 setCheckState(column.state) 设置指定列的选中状态: Qt.Checked:节点选中 Qt....
  • 2018年9月计算机一级MSOffice冲刺试题及答案(6) 一、选择题  1.计算机的技术性能指标主要是指()。  A.计算机所配备的语言、操作系统、外部设备  B.硬盘的容量和内存的容量  C.显示器的分辨率、打印机的性能...
  • Markdown语法()标题&段落&分割线

    千次阅读 2019-11-23 10:08:53
    ##### 五级标题 ###### 六级标题 如上所示,想要获得 几级标题 的样式,只需要在前面添加 几个#号 就可以。需要注意的是,最后个#和要显示的标题文字之间必须空开 至少个空格 。   显示效果如下: ...
  • mui框架扩展了pipcker组件,可用于弹出选择器,在各平台上都有统一表现.poppicker和dtpicker是对picker的具体实现 1、文件引用 poppicker组件依赖mui.picker.js/.css mui.poppicker.js/....2、mui涉及的方法如下...
  • 修改discuz论坛的标题header和footer

    千次阅读 2013-09-16 11:00:51
    ,去掉他的原因是为了使标题更加简洁明了,还有就是不被搜索导致SPAM:具体的修改方法:打开/templates/default/header.htm,在第行中直接删除:- Powered by Discuz!就可。 2、如果针对DZ底部的版权信息进行...
  • 标签,为你的网页添加标题

    千次阅读 2015-10-14 23:53:36
    标题标签一共有6个,h1、h2、h3、h4、h5、h6分别为级标题、二级标题、三级标题、四级标题、五级标题、六级标题。并且依据重要性递减。是最高的等级。 语法: 标题文本 (x为1-6) 文章的标题前面已经说过了,...
  • 前言不得不吐槽一下产品....传送门先看看效果:两级的效果:三级的效果:全部展开的效果(我只写了五级)没设计布局,比较丑,哈哈. ————————————分割线————————————–说说为什么写这货吧:公司产
  • 全部重排:打开两个或以上excel表格时,通过全部重排可以全部呈现在屏幕上。如将三个excel表格垂直并排。选择视图中的全部重排。再选择垂直并排。...分列工具:通过选择相应的分隔符可以将列数据...
  • 由于是刚开始写博客,所以开始在格式上也没有太在意,今天偶然间翻阅自己的博客,却发现字体、代码以及图片什么的都几乎快挤了一起,自己都觉得看着很难受,更别说别的读者了。为了大家能够读的清楚、看的明白,...
  • 前提:标题为一级标题,且标题的序号是在自动编号的那种 1.先设置奇偶页不同 2.将光标定位在奇数页页眉处,插入“文档部件”中的“域” 3.选择“链接和引用”下的“StyleRef”,选中“标题1”,点击确定,...
  • 如题, CSDN 博客排名前150名 偶然的机会,做个了CSDN...NO:1姓名: phphot访问量: 8,351,189次, 文章:6400, 等级: 10博客地址:https://blog.csdn.net/phphot标题: phphot签名:NO:2姓名: yuanmeng001访问量: 8,194,4...
  • LaTex(PART IV) 各级标题

    千次阅读 2017-10-19 22:42:07
    示例代码\documentclass[UTF8]{ctexart} \author{哈巴狗} \title{我的论文标题} \begin{document} \maketitle%输出标题 ... \newpage \section{第章,一级标题} 这是第章 \subsection{二级标题
  • 手把手教你写个基于python+pyqt5的股票盯盘软件

    千次阅读 多人点赞 2020-04-15 16:56:26
    1级标题 2级标题 3级标题 四级标题 五级标题 六级标题

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,789
精华内容 29,915
关键字:

一级到五级标题