实训第八周(1)

李晨晨:

本次主要整合所有P2P相关的内容,实现两人聊天界面的具体功能。

P2PChatActivity

1.onCreate:主要分为5部分:初始化当前聊天会话、初始化标题栏、初始化消息列表、初始化监听器、加载历史消息记录

[java]  view plain  copy
  1. @Override  
  2.     protected void onCreate(@Nullable Bundle savedInstanceState) {  
  3.         super.onCreate(savedInstanceState);  
  4.         setStatusBarColor(R.color.app_blue_color);  
  5.         setContentView(R.layout.activity_p2p_chat);  
  6.         createChatSession();  
  7.         initTitle();  
  8.         ButterKnife.bind(this);  
  9.   
  10.         mInputLayout.setLayoutListener(this);  
  11.         mInputLayout.bindInputLayout(this, mRecyclerView);  
  12.   
  13.         initMsgList();  
  14.         initListener();  
  15.   
  16.         // 注册监听  
  17.         NIMClient.getService(MsgServiceObserve.class)  
  18.                 .observeReceiveMessage(mMsgReceiveObserver, true);  
  19.         NIMClient.getService(MsgServiceObserve.class)  
  20.                 .observeMsgStatus(mMsgStatusObserver, true);  
  21.         NIMClient.getService(MsgServiceObserve.class)  
  22.                 .observeAttachmentProgress(mProgressObserver, true);  
  23.   
  24.         // 加载历史消息数据  
  25.         loadMessage();  
  26.     }  
2.初始化当前聊天会话
[java]  view plain  copy
  1. private void createChatSession() {  
  2.         chatInfo = (NimUserInfo) getIntent().getSerializableExtra("NimUserInfo");  
  3.         NimUserInfo myInfo = NimUserHandler.getInstance().getUserInfo();  
  4.         mChatSession = new ChatSession();  
  5.         mChatSession.setSessionId(chatInfo.getAccount());  
  6.         mChatSession.setSessionType(SessionTypeEnum.P2P);  
  7.         mChatSession.setChatAccount(chatInfo.getAccount());  
  8.         mChatSession.setMyAccount(myInfo.getAccount());  
  9.         mChatSession.setChatInfo(chatInfo);  
  10.         mChatSession.setMyInfo(myInfo);  
  11.   
  12.         mChatHandler = new ChatMsgHandler(this, mChatSession);  
  13.     }  

3.初始化标题栏:

[java]  view plain  copy
  1. private void initTitle() {  
  2.         if (!TextUtils.isEmpty(mChatSession.getChatNick())) {  
  3.             setTitleBar(mChatSession.getChatNick(), truetrue);  
  4.         } else {  
  5.             setTitleBar(mChatSession.getChatInfo().getName(), truetrue);  
  6.         }  
  7.         mIvMenu.setImageResource(R.mipmap.people);  
  8.         // 打开详细资料界面  
  9.         mIvMenu.setOnClickListener(new View.OnClickListener() {  
  10.             @Override  
  11.             public void onClick(View v) {  
  12.                 Intent intent = new Intent(P2PChatActivity.this, FriendInfoActivity.class);  
  13.                 intent.putExtra("NimUserInfo", chatInfo);  
  14.                 intent.putExtra("FLAG", FriendInfoActivity.FLAG_PURE_SHOW_FRIEND);  
  15.                 startActivity(intent);  
  16.             }  
  17.         });  
  18.     }  

4.初始化消息列表:

[java]  view plain  copy
  1. private void initMsgList() {  
  2.         mLayoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager();  
  3.         mMsgList = new ArrayList<>();  
  4.         mListAdapter = new MessageListAdapter(this, mMsgList, mChatSession);  
  5.         mListAdapter.setOnItemClickListener(new OnItemClickListener() {  
  6.             @Override  
  7.             public void onItemClick(RViewHolder holder, IMMessage message) {  
  8.                 switch (message.getMsgType()) {  
  9.                     case image:  
  10.                         showAttachOnActivity(ShowImageActivity.class, message);  
  11.                         break;  
  12.                     case audio:  
  13.                         playAudio(holder, message);  
  14.                         break;  
  15.                     case video:  
  16.                         //showAttachOnActivity(ShowVideoActivity.class, message);  
  17.                         break;  
  18.                     case location:  
  19.                         showAttachOnActivity(ShowLocActivity.class, message);  
  20.                         break;  
  21.                 }  
  22.             }  
  23.         });  
  24.   
  25.         mRecyclerView.setAdapter(mListAdapter);  
  26.         mRecyclerView.setLoadingListener(new MsgRecyclerView.OnLoadingListener() {  
  27.             @Override  
  28.             public void loadPreMessage() {  
  29.                 loadMessage();  
  30.             }  
  31.         });  
  32.     }  

5.初始化各类消息监听

[java]  view plain  copy
  1. private void initListener() {  
  2.   
  3.        mRecyclerView.setOnTouchListener(new MyTouchListener());  
  4.   
  5.        final View decorView = getWindow().getDecorView();  
  6.        decorView.getViewTreeObserver()  
  7.                .addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {  
  8.                    private int previousKeyboardHeight = 0;  
  9.                    @Override  
  10.                    public void onGlobalLayout() {  
  11.                        Rect rect = new Rect();  
  12.                        getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);  
  13.                        int displayHeight = rect.bottom;  
  14.                        int height = decorView.getHeight();  
  15.                        int keyboardHeight = height - displayHeight;  
  16.                        if (previousKeyboardHeight != keyboardHeight) {  
  17.                            boolean hide = (double) displayHeight / height > 0.8;  
  18.                            if (!hide){  
  19.                                //点击文本框后弹出键盘,消息滚到最后一条  
  20.                                mLayoutManager.scrollToPosition(mMsgList.size());  
  21.                            }  
  22.                        }  
  23.                    }  
  24.                });  
  25.   
  26.        // 网易云信消息接收监听  
  27.        mMsgReceiveObserver = new Observer<List<IMMessage>>() {  
  28.            @Override  
  29.            public void onEvent(List<IMMessage> imMessages) {  
  30.                // 通过判断,决定是否添加收到消息的时间  
  31.                IMMessage imMessage = imMessages.get(0);  
  32.                if (mMsgList.isEmpty()) {  
  33.                    if (imMessage.getSessionType() == SessionTypeEnum.P2P  
  34.                            && imMessage.getSessionId().equals(mChatSession.getChatAccount())) {  
  35.                        mMsgList.add(mChatHandler.createTimeMessage(imMessage));  
  36.                    }  
  37.                } else {  
  38.                    IMMessage lastMsg = mMsgList.get(mMsgList.size() - 1);  
  39.                    if (imMessage.getSessionType() == SessionTypeEnum.P2P  
  40.                            && imMessage.getSessionId().equals(mChatSession.getChatAccount())  
  41.                            && imMessage.getTime() - lastMsg.getTime() > TEN_MINUTE) {  
  42.                        mMsgList.add(mChatHandler.createTimeMessage(imMessage));  
  43.                    }  
  44.                }  
  45.   
  46.                // 将收到的消息添加到列表中  
  47.                int receiveCount = 0;  
  48.                for (IMMessage message : imMessages) {  
  49.                    if (message.getSessionType() == SessionTypeEnum.P2P  
  50.                            && message.getSessionId().equals(mChatSession.getChatAccount())) {  
  51.                        mMsgList.add(message);  
  52.                        receiveCount++;  
  53.                    }  
  54.                }  
  55.   
  56.                if (receiveCount > 0) {  
  57.                    mListAdapter.notifyDataSetChanged();  
  58.   
  59.                    // 对于整个 mListAdapter 来说,第0个 item 是 HeadView  
  60.                    // 即mMsgList的第 i 条数据,相当于mListAdapter来说是第 i+1 条  
  61.                    mLayoutManager.scrollToPosition(mMsgList.size());  
  62.                }  
  63.            }  
  64.        };  
  65.        // 网易云信消息状态监听  
  66.        mMsgStatusObserver = new Observer<IMMessage>() {  
  67.            @Override  
  68.            public void onEvent(IMMessage message) {  
  69.                // 收到消息状态更新,从后往前更新消息状态  
  70.                for (int i = mMsgList.size() - 1; i >= 0; i--) {  
  71.                    // 时间 item  UUid  为空  
  72.                    if (TextUtils.isEmpty(mMsgList.get(i).getUuid())) {  
  73.                        continue;  
  74.                    }  
  75.                    if (mMsgList.get(i).getUuid().equals(message.getUuid())) {  
  76.                        mMsgList.get(i).setStatus(message.getStatus());  
  77.                        mMsgList.get(i).setAttachStatus(message.getAttachStatus());  
  78.   
  79.                        // 对于整个 mListAdapter 来说,第0个 item 是 HeadView  
  80.                        // 即 mMsgList 的第 i 条数据,相当于mListAdapter来说是第 i+1 条  
  81.                        mListAdapter.notifyItemChanged(i + 1);  
  82.                        break;  
  83.                    }  
  84.                }  
  85.            }  
  86.        };  
  87.   
  88.        // 附件传输进度监听  
  89.        mProgressObserver = new Observer<AttachmentProgress>() {  
  90.            @Override  
  91.            public void onEvent(AttachmentProgress progress) {  
  92.   
  93.            }  
  94.        };  
  95.    }  

6.消息加载与加载回调

[java]  view plain  copy
  1. private void loadMessage() {  
  2.        if (mMsgList.isEmpty()) {  
  3.            // 记录为空时,以当前时间为锚点  
  4.            IMMessage anchorMessage = MessageBuilder.createEmptyMessage(mChatSession.getSessionId(),  
  5.                    mChatSession.getSessionType(), System.currentTimeMillis());  
  6.            mChatHandler.loadMessage(anchorMessage, this);  
  7.        } else {  
  8.            // 否则,以最上一条消息为锚点  
  9.            IMMessage firstMsg = mMsgList.get(0);  
  10.            if (TextUtils.isEmpty(firstMsg.getUuid())) {  
  11.                firstMsg = mMsgList.get(1);  
  12.            }  
  13.            mChatHandler.loadMessage(firstMsg, this);//下面的loadSuccess/Fail即为ChatMsgHandler.OnLoadMsgListener的接口重写  
  14.        }  
  15.    }  
  16.   
  17.    @Override  
  18.    public void loadSuccess(List<IMMessage> messages, IMMessage anchorMessage) {  
  19.        mRecyclerView.hideHeadView();  
  20.   
  21.        boolean scroll = false;  
  22.        // 如果原本没有,为第一次加载,需要在加载完成后移动到最后一项  
  23.        if (mMsgList.isEmpty()) {  
  24.            scroll = true;  
  25.        }  
  26.        if (!messages.isEmpty()) {  
  27.            mMsgList.addAll(0, mChatHandler.dealLoadMessage(messages, anchorMessage));  
  28.            mListAdapter.notifyDataSetChanged();//mListAdapter为被观察者  
  29.        }  
  30.        if (scroll) {  
  31.            mLayoutManager.scrollToPosition(mMsgList.size());  
  32.        }  
  33.    }  
  34.   
  35.   
  36.    @Override  
  37.    public void loadFail(String message) {  
  38.        mRecyclerView.hideHeadView();  
  39.        ToastUtils.showMessage(this"消息加载失败:" + message);  
  40.        Log.e(TAG, "load message fail:" + message);  
  41.    }  

7.页面跳转回调(选择图片界面和定位界面)

[java]  view plain  copy
  1. @Override  
  2.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  3.         super.onActivityResult(requestCode, resultCode, data);  
  4.         if (requestCode == SELECT_PHOTO) {  
  5.             if (resultCode == RESULT_OK) {  
  6.                 String[] images = data.getStringArrayExtra("images");  
  7.                 for (String path : images) {  
  8.                     sendMessage(mChatHandler.createImageMessage(path));  
  9.                 }  
  10.   
  11.             }  
  12.         } else if (requestCode == SELECT_LOCATION) {  
  13.             if (resultCode == RESULT_OK) {  
  14.                 String address = data.getStringExtra("address");  
  15.                 LatLonPoint loc = data.getParcelableExtra("location");  
  16.                 sendMessage(mChatHandler.createLocMessage(loc, address));  
  17.             }  
  18.         }  
  19.     }  
[java]  view plain  copy
  1.   
[java]  view plain  copy
  1. /*** 消息发送 ***/  
  2.    //自己的界面用下述方式刷新,对方用网易云信消息接收监听mMsgReceiveObserver刷新  
  3.    private void sendMessage(IMMessage message) {  
  4.   
  5.        if (mMsgList.isEmpty() ||  
  6.                message.getTime() - mMsgList.get(mMsgList.size() - 1).getTime() > TEN_MINUTE) {  
  7.            mMsgList.add(mChatHandler.createTimeMessage(message));  
  8.        }  
  9.   
  10.        // 将新消息加入列表并刷新界面  
  11.        mMsgList.add(message);  
  12.        mListAdapter.notifyItemInserted(mMsgList.size());  
  13.        mLayoutManager.scrollToPosition(mMsgList.size());  
  14.        // 发送消息并监听消息发送状态  
  15.        NIMClient.getService(MsgService.class).sendMessage(message, false);  
  16.    }  


8.输入面板事件回调:

[java]  view plain  copy
  1. @Override  
  2.    public void sendBtnClick(String textMessage) {  
  3.        sendMessage(mChatHandler.createTextMessage(textMessage));  
  4.    }  
  5.   
  6.    @Override  
  7.    public void photoTextBtnClick(String path){  
  8.        sendMessage(mChatHandler.createImageMessage(path));  
  9.    }  
  10.   
  11.    @Override  
  12.    public void photoBtnClick() {  
  13.        Intent intent = new Intent(this, PhotoSelectActivity.class);  
  14.        startActivityForResult(intent, SELECT_PHOTO);  
  15.    }  
  16.   
  17.    @Override  
  18.    public void locationBtnClick() {  
  19.        Intent intent = new Intent(this, SelectLocActivity.class);  
  20.        startActivityForResult(intent, SELECT_LOCATION);  
  21.    }  
  22.   
  23.   
  24.    @Override  
  25.    public void audioRecordFinish(String audioFilePath, long recordTime) {  
  26.        sendMessage(mChatHandler.createAudioMessage(audioFilePath, recordTime));  
  27.    }  
  28.   
  29.    @Override  
  30.    public void audioRecordError(String message) {  
  31.        ToastUtils.showMessage(this"录音出错:" + message);  
  32.    }  
  33.   
  34.    @Override  
  35.    public void exLayoutShow() {  
  36.        mLayoutManager.scrollToPosition(mMsgList.size());  
  37.    }  
  38.   
  39.    /***  标题栏返回按钮事件 *****/  
  40.    @OnClick(R.id.iv_back_btn)  
  41.    public void finishActivity() {  
  42.        KeyboardUtil.inputBmpList.clear();  
  43.        ChatInputLayout.currentBmpList.clear();  
  44.        this.finish();  
  45.    }  
  46.   
  47.    //系统返回键  
  48.    public void onBackPressed() {  
  49.        KeyboardUtil.inputBmpList.clear();  
  50.        ChatInputLayout.currentBmpList.clear();  
  51.        this.finish();  
  52.    }  

9.消息列表触摸事件:隐藏键盘

[java]  view plain  copy
  1. /******  消息列表触摸事件   *******/  
  2.    private class MyTouchListener implements View.OnTouchListener {  
  3.        @Override  
  4.        public boolean onTouch(View v, MotionEvent event) {  
  5.            if (event.getAction() == MotionEvent.ACTION_DOWN) {  
  6.                mInputLayout.hideOverView();  
  7.            }  
  8.            return false;  
  9.        }  
  10.    }  

10.activity生命周期,注册或注销各类监听

[java]  view plain  copy
  1. @Override  
  2.    protected void onResume() {  
  3.        super.onResume();  
  4.        // 设置当前聊天对象,即如果为mChatPersonAccount用户的消息,则不在通知了进行通知  
  5.        NIMClient.getService(MsgService.class).setChattingAccount(mChatSession.getChatAccount(),  
  6.                mChatSession.getSessionType());  
  7.   
  8.        AudioPlayManager.resume();  
  9.    }  
  10.   
  11.    @Override  
  12.    protected void onPause() {  
  13.        super.onPause();  
  14.        // 当前无聊天对象,需要通知栏提醒  
  15.        NIMClient.getService(MsgService.class)  
  16.                .setChattingAccount(MsgService.MSG_CHATTING_ACCOUNT_NONE,  
  17.                        SessionTypeEnum.None);  
  18.   
  19.        AudioPlayManager.pause();  
  20.    }  
  21.   
  22.    @Override  
  23.    protected void onDestroy() {  
  24.        super.onDestroy();  
  25.        // 注销各类监听事件  
  26.        NIMClient.getService(MsgServiceObserve.class)  
  27.                .observeReceiveMessage(mMsgReceiveObserver, false);  
  28.        NIMClient.getService(MsgServiceObserve.class)  
  29.                .observeMsgStatus(mMsgStatusObserver, false);  
  30.        NIMClient.getService(MsgServiceObserve.class)  
  31.                .observeAttachmentProgress(mProgressObserver, true);  
  32.   
  33.        AudioPlayManager.release();  
  34.    }  



张静:

本周,开始写MeFragment中可选择进入的ContentActivity(个性字体库)

1. activity_words_album_layout.xml

[java]  view plain  copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical">  
  6.   
  7.     <include layout="@layout/title_layout" />  
  8.   
  9.     <ScrollView  
  10.         android:layout_width="wrap_content"  
  11.         android:layout_height="wrap_content"  
  12.         android:scrollbars="none">  
  13.   
  14.         <LinearLayout  
  15.             android:layout_width="match_parent"  
  16.             android:layout_height="wrap_content"  
  17.             android:orientation="vertical">  
  18.             <LinearLayout  
  19.                 android:layout_width="match_parent"  
  20.                 android:layout_height="wrap_content"  
  21.                 android:layout_marginTop="5dp"  
  22.                 android:orientation="horizontal">  
  23.                 <TextView  
  24.                     android:layout_width="wrap_content"  
  25.                     android:layout_height="wrap_content"  
  26.                     android:layout_marginLeft="5dp"  
  27.                     android:layout_marginRight="75px"  
  28.                     android:text="!"/>  
  29.                 <TextView  
  30.                     android:id="@+id/asc034"  
  31.                     android:layout_width="wrap_content"  
  32.                     android:layout_height="wrap_content"  
  33.                     android:layout_marginRight="75px"  
  34.                     android:text="1"/>  
  35.                 <TextView  
  36.                     android:layout_width="wrap_content"  
  37.                     android:layout_height="wrap_content"  
  38.                     android:layout_marginRight="75px"  
  39.                     android:text="#"/>  
  40.                 <TextView  
  41.                     android:layout_width="wrap_content"  
  42.                     android:layout_height="wrap_content"  
  43.                     android:layout_marginRight="75px"  
  44.                     android:text="$"/>  
  45.                 <TextView  
  46.                     android:layout_width="wrap_content"  
  47.                     android:layout_height="wrap_content"  
  48.                     android:layout_marginRight="75px"  
  49.                     android:text="%"/>  
  50.                 <TextView  
  51.                     android:id="@+id/asc038"  
  52.                     android:layout_width="wrap_content"  
  53.                     android:layout_height="wrap_content"  
  54.                     android:layout_marginRight="75px"  
  55.                     android:text=" "/>  
  56.                 <TextView  
  57.                     android:layout_width="wrap_content"  
  58.                     android:layout_height="wrap_content"  
  59.                     android:layout_marginRight="75px"  
  60.                     android:text="'"/>  
  61.             </LinearLayout>  
  62.   
  63.             <LinearLayout  
  64.                 android:layout_width="match_parent"  
  65.                 android:layout_height="wrap_content"  
  66.                 android:layout_marginTop="5dp"  
  67.                 android:orientation="horizontal">  
  68.                 <ImageView  
  69.                     android:id="@+id/asc_033"  
  70.                     android:tag="0"  
  71.                     android:layout_width="75px"  
  72.                     android:layout_height="100px"  
  73.                     android:layout_marginLeft="5dp"/>  
  74.                 <ImageView  
  75.                     android:id="@+id/asc_034"  
  76.                     android:tag="1"  
  77.                     android:layout_width="75px"  
  78.                     android:layout_height="100px"  
  79.                     android:layout_marginLeft="5dp"/>  
  80.                 <ImageView  
  81.                     android:id="@+id/asc_035"  
  82.                     android:tag="2"  
  83.                     android:layout_width="75px"  
  84.                     android:layout_height="100px"  
  85.                     android:layout_marginLeft="5dp"/>  
  86.                 <ImageView  
  87.                     android:id="@+id/asc_036"  
  88.                     android:tag="3"  
  89.                     android:layout_width="75px"  
  90.                     android:layout_height="100px"  
  91.                     android:layout_marginLeft="5dp"/>  
  92.                 <ImageView  
  93.                     android:id="@+id/asc_037"  
  94.                     android:tag="4"  
  95.                     android:layout_width="75px"  
  96.                     android:layout_height="100px"  
  97.                     android:layout_marginLeft="5dp"/>  
  98.   
  99.                 <ImageView  
  100.                     android:id="@+id/asc_038"  
  101.                     android:tag="5"  
  102.                     android:layout_width="75px"  
  103.                     android:layout_height="100px"  
  104.                     android:layout_marginLeft="5dp" />  
  105.   
  106.                 <ImageView  
  107.                     android:id="@+id/asc_039"  
  108.                     android:tag="6"  
  109.                     android:layout_width="75px"  
  110.                     android:layout_height="100px"  
  111.                     android:layout_marginLeft="5dp"/>  
  112.             </LinearLayout>  
  113.   
  114.             <LinearLayout  
  115.                 android:layout_width="match_parent"  
  116.                 android:layout_height="wrap_content"  
  117.                 android:layout_marginTop="5dp"  
  118.                 android:orientation="horizontal">  
  119.                 <TextView  
  120.                     android:layout_width="wrap_content"  
  121.                     android:layout_height="wrap_content"  
  122.                     android:layout_marginLeft="5dp"  
  123.                     android:layout_marginRight="75px"  
  124.                     android:text="("/>  
  125.                 <TextView  
  126.                     android:layout_width="wrap_content"  
  127.                     android:layout_height="wrap_content"  
  128.                     android:layout_marginRight="75px"  
  129.                     android:text=")"/>  
  130.                 <TextView  
  131.                     android:layout_width="wrap_content"  
  132.                     android:layout_height="wrap_content"  
  133.                     android:layout_marginRight="75px"  
  134.                     android:text="*"/>  
  135.                 <TextView  
  136.                     android:layout_width="wrap_content"  
  137.                     android:layout_height="wrap_content"  
  138.                     android:layout_marginRight="75px"  
  139.                     android:text="+"/>  
  140.                 <TextView  
  141.                     android:layout_width="wrap_content"  
  142.                     android:layout_height="wrap_content"  
  143.                     android:layout_marginRight="75px"  
  144.                     android:text=","/>  
  145.                 <TextView  
  146.                     android:layout_width="wrap_content"  
  147.                     android:layout_height="wrap_content"  
  148.                     android:layout_marginRight="75px"  
  149.                     android:text="-"/>  
  150.                 <TextView  
  151.                     android:layout_width="wrap_content"  
  152.                     android:layout_height="wrap_content"  
  153.                     android:layout_marginRight="75px"  
  154.                     android:text="."/>  
  155.             </LinearLayout>  
  156.   
  157.             <LinearLayout  
  158.                 android:layout_width="match_parent"  
  159.                 android:layout_height="wrap_content"  
  160.                 android:layout_marginTop="5dp"  
  161.                 android:orientation="horizontal">  
  162.                 <ImageView  
  163.                     android:id="@+id/asc_040"  
  164.                     android:tag="7"  
  165.                     android:layout_width="75px"  
  166.                     android:layout_height="100px"  
  167.                     android:layout_marginLeft="5dp"/>  
  168.                 <ImageView  
  169.                     android:id="@+id/asc_041"  
  170.                     android:tag="8"  
  171.                     android:layout_width="75px"  
  172.                     android:layout_height="100px"  
  173.                     android:layout_marginLeft="5dp"/>  
  174.                 <ImageView  
  175.                     android:id="@+id/asc_042"  
  176.                     android:tag="9"  
  177.                     android:layout_width="75px"  
  178.                     android:layout_height="100px"  
  179.                     android:layout_marginLeft="5dp"/>  
  180.                 <ImageView  
  181.                     android:id="@+id/asc_043"  
  182.                     android:tag="10"  
  183.                     android:layout_width="75px"  
  184.                     android:layout_height="100px"  
  185.                     android:layout_marginLeft="5dp"/>  
  186.                 <ImageView  
  187.                     android:id="@+id/asc_044"  
  188.                     android:tag="11"  
  189.                     android:layout_width="75px"  
  190.                     android:layout_height="100px"  
  191.                     android:layout_marginLeft="5dp"/>  
  192.                 <ImageView  
  193.                     android:id="@+id/asc_045"  
  194.                     android:tag="12"  
  195.                     android:layout_width="75px"  
  196.                     android:layout_height="100px"  
  197.                     android:layout_marginLeft="5dp"/>  
  198.                 <ImageView  
  199.                     android:id="@+id/asc_046"  
  200.                     android:tag="13"  
  201.                     android:layout_width="75px"  
  202.                     android:layout_height="100px"  
  203.                     android:layout_marginLeft="5dp"/>  
  204.             </LinearLayout>  
  205.   
  206.             <LinearLayout  
  207.                 android:layout_width="match_parent"  
  208.                 android:layout_height="wrap_content"  
  209.                 android:layout_marginTop="5dp"  
  210.                 android:orientation="horizontal">  
  211.                 <TextView  
  212.                     android:layout_width="wrap_content"  
  213.                     android:layout_height="wrap_content"  
  214.                     android:layout_marginLeft="5dp"  
  215.                     android:layout_marginRight="75px"  
  216.                     android:text="/"/>  
  217.                 <TextView  
  218.                     android:layout_width="wrap_content"  
  219.                     android:layout_height="wrap_content"  
  220.                     android:layout_marginRight="75px"  
  221.                     android:text="0"/>  
  222.                 <TextView  
  223.                     android:layout_width="wrap_content"  
  224.                     android:layout_height="wrap_content"  
  225.                     android:layout_marginRight="75px"  
  226.                     android:text="1"/>  
  227.                 <TextView  
  228.                     android:layout_width="wrap_content"  
  229.                     android:layout_height="wrap_content"  
  230.                     android:layout_marginRight="75px"  
  231.                     android:text="2"/>  
  232.                 <TextView  
  233.                     android:layout_width="wrap_content"  
  234.                     android:layout_height="wrap_content"  
  235.                     android:layout_marginRight="75px"  
  236.                     android:text="3"/>  
  237.                 <TextView  
  238.                     android:layout_width="wrap_content"  
  239.                     android:layout_height="wrap_content"  
  240.                     android:layout_marginRight="75px"  
  241.                     android:text="4"/>  
  242.                 <TextView  
  243.                     android:layout_width="wrap_content"  
  244.                     android:layout_height="wrap_content"  
  245.                     android:layout_marginRight="75px"  
  246.                     android:text="5"/>  
  247.             </LinearLayout>  
  248.   
  249.             <LinearLayout  
  250.                 android:layout_width="match_parent"  
  251.                 android:layout_height="wrap_content"  
  252.                 android:layout_marginTop="5dp"  
  253.                 android:orientation="horizontal">  
  254.                 <ImageView  
  255.                     android:id="@+id/asc_047"  
  256.                     android:tag="14"  
  257.                     android:layout_width="75px"  
  258.                     android:layout_height="100px"  
  259.                     android:layout_marginLeft="5dp"/>  
  260.                 <ImageView  
  261.                     android:id="@+id/asc_048"  
  262.                     android:tag="15"  
  263.                     android:layout_width="75px"  
  264.                     android:layout_height="100px"  
  265.                     android:layout_marginLeft="5dp"/>  
  266.                 <ImageView  
  267.                     android:id="@+id/asc_049"  
  268.                     android:tag="16"  
  269.                     android:layout_width="75px"  
  270.                     android:layout_height="100px"  
  271.                     android:layout_marginLeft="5dp"/>  
  272.                 <ImageView  
  273.                     android:id="@+id/asc_050"  
  274.                     android:tag="17"  
  275.                     android:layout_width="75px"  
  276.                     android:layout_height="100px"  
  277.                     android:layout_marginLeft="5dp"/>  
  278.                 <ImageView  
  279.                     android:id="@+id/asc_051"  
  280.                     android:tag="18"  
  281.                     android:layout_width="75px"  
  282.                     android:layout_height="100px"  
  283.                     android:layout_marginLeft="5dp"/>  
  284.                 <ImageView  
  285.                     android:id="@+id/asc_052"  
  286.                     android:tag="19"  
  287.                     android:layout_width="75px"  
  288.                     android:layout_height="100px"  
  289.                     android:layout_marginLeft="5dp"/>  
  290.                 <ImageView  
  291.                     android:id="@+id/asc_053"  
  292.                     android:tag="20"  
  293.                     android:layout_width="75px"  
  294.                     android:layout_height="100px"  
  295.                     android:layout_marginLeft="5dp"/>  
  296.             </LinearLayout>  
  297.   
  298.             <LinearLayout  
  299.                 android:layout_width="match_parent"  
  300.                 android:layout_height="wrap_content"  
  301.                 android:layout_marginTop="5dp"  
  302.                 android:orientation="horizontal">  
  303.                 <TextView  
  304.                     android:layout_width="wrap_content"  
  305.                     android:layout_height="wrap_content"  
  306.                     android:layout_marginLeft="5dp"  
  307.                     android:layout_marginRight="75px"  
  308.                     android:text="6"/>  
  309.                 <TextView  
  310.                     android:layout_width="wrap_content"  
  311.                     android:layout_height="wrap_content"  
  312.                     android:layout_marginRight="75px"  
  313.                     android:text="7"/>  
  314.                 <TextView  
  315.                     android:layout_width="wrap_content"  
  316.                     android:layout_height="wrap_content"  
  317.                     android:layout_marginRight="75px"  
  318.                     android:text="8"/>  
  319.                 <TextView  
  320.                     android:layout_width="wrap_content"  
  321.                     android:layout_height="wrap_content"  
  322.                     android:layout_marginRight="75px"  
  323.                     android:text="9"/>  
  324.                 <TextView  
  325.                     android:layout_width="wrap_content"  
  326.                     android:layout_height="wrap_content"  
  327.                     android:layout_marginRight="75px"  
  328.                     android:text=":"/>  
  329.                 <TextView  
  330.                     android:layout_width="wrap_content"  
  331.                     android:layout_height="wrap_content"  
  332.                     android:layout_marginRight="75px"  
  333.                     android:text=";"/>  
  334.                 <TextView  
  335.                     android:id="@+id/asc60"  
  336.                     android:layout_width="wrap_content"  
  337.                     android:layout_height="wrap_content"  
  338.                     android:layout_marginRight="75px"  
  339.                     android:text=" "/>  
  340.             </LinearLayout>  
  341.   
  342.             <LinearLayout  
  343.                 android:layout_width="match_parent"  
  344.                 android:layout_height="wrap_content"  
  345.                 android:layout_marginTop="5dp"  
  346.                 android:orientation="horizontal">  
  347.                 <ImageView  
  348.                     android:id="@+id/asc_054"  
  349.                     android:tag="21"  
  350.                     android:layout_width="75px"  
  351.                     android:layout_height="100px"  
  352.                     android:layout_marginLeft="5dp"/>  
  353.                 <ImageView  
  354.                     android:id="@+id/asc_055"  
  355.                     android:tag="22"  
  356.                     android:layout_width="75px"  
  357.                     android:layout_height="100px"  
  358.                     android:layout_marginLeft="5dp"/>  
  359.                 <ImageView  
  360.                     android:id="@+id/asc_056"  
  361.                     android:tag="23"  
  362.                     android:layout_width="75px"  
  363.                     android:layout_height="100px"  
  364.                     android:layout_marginLeft="5dp"/>  
  365.                 <ImageView  
  366.                     android:id="@+id/asc_057"  
  367.                     android:tag="24"  
  368.                     android:layout_width="75px"  
  369.                     android:layout_height="100px"  
  370.                     android:layout_marginLeft="5dp"/>  
  371.                 <ImageView  
  372.                     android:id="@+id/asc_058"  
  373.                     android:tag="25"  
  374.                     android:layout_width="75px"  
  375.                     android:layout_height="100px"  
  376.                     android:layout_marginLeft="5dp"/>  
  377.                 <ImageView  
  378.                     android:id="@+id/asc_059"  
  379.                     android:tag="26"  
  380.                     android:layout_width="75px"  
  381.                     android:layout_height="100px"  
  382.                     android:layout_marginLeft="5dp"/>  
  383.                 <ImageView  
  384.                     android:id="@+id/asc_060"  
  385.                     android:tag="27"  
  386.                     android:layout_width="75px"  
  387.                     android:layout_height="100px"  
  388.                     android:layout_marginLeft="5dp"/>  
  389.             </LinearLayout>  
  390.   
  391.             <LinearLayout  
  392.                 android:layout_width="match_parent"  
  393.                 android:layout_height="wrap_content"  
  394.                 android:layout_marginTop="5dp"  
  395.                 android:orientation="horizontal">  
  396.                 <TextView  
  397.                     android:layout_width="wrap_content"  
  398.                     android:layout_height="wrap_content"  
  399.                     android:layout_marginLeft="5dp"  
  400.                     android:layout_marginRight="75px"  
  401.                     android:text="="/>  
  402.                 <TextView  
  403.                     android:layout_width="wrap_content"  
  404.                     android:layout_height="wrap_content"  
  405.                     android:layout_marginRight="75px"  
  406.                     android:text=">"/>  
  407.                 <TextView  
  408.                     android:id="@+id/asc063"  
  409.                     android:layout_width="wrap_content"  
  410.                     android:layout_height="wrap_content"  
  411.                     android:layout_marginRight="75px"  
  412.                     android:text=" "/>  
  413.                 <TextView  
  414.                     android:id="@+id/asc064"  
  415.                     android:layout_width="wrap_content"  
  416.                     android:layout_height="wrap_content"  
  417.                     android:layout_marginRight="75px"  
  418.                     android:text=" "/>  
  419.                 <TextView  
  420.                     android:layout_width="wrap_content"  
  421.                     android:layout_height="wrap_content"  
  422.                     android:layout_marginRight="75px"  
  423.                     android:text="A"/>  
  424.                 <TextView  
  425.                     android:layout_width="wrap_content"  
  426.                     android:layout_height="wrap_content"  
  427.                     android:layout_marginRight="75px"  
  428.                     android:text="B"/>  
  429.                 <TextView  
  430.                     android:layout_width="wrap_content"  
  431.                     android:layout_height="wrap_content"  
  432.                     android:layout_marginRight="75px"  
  433.                     android:text="C"/>  
  434.             </LinearLayout>  
  435.   
  436.             <LinearLayout  
  437.                 android:layout_width="match_parent"  
  438.                 android:layout_height="wrap_content"  
  439.                 android:layout_marginTop="5dp"  
  440.                 android:orientation="horizontal">  
  441.                 <ImageView  
  442.                     android:id="@+id/asc_061"  
  443.                     android:tag="28"  
  444.                     android:layout_width="75px"  
  445.                     android:layout_height="100px"  
  446.                     android:layout_marginLeft="5dp"/>  
  447.                 <ImageView  
  448.                     android:id="@+id/asc_062"  
  449.                     android:tag="29"  
  450.                     android:layout_width="75px"  
  451.                     android:layout_height="100px"  
  452.                     android:layout_marginLeft="5dp"/>  
  453.                 <ImageView  
  454.                     android:id="@+id/asc_063"  
  455.                     android:tag="30"  
  456.                     android:layout_width="75px"  
  457.                     android:layout_height="100px"  
  458.                     android:layout_marginLeft="5dp"/>  
  459.                 <ImageView  
  460.                     android:id="@+id/asc_064"  
  461.                     android:tag="31"  
  462.                     android:layout_width="75px"  
  463.                     android:layout_height="100px"  
  464.                     android:layout_marginLeft="5dp"/>  
  465.                 <ImageView  
  466.                     android:id="@+id/asc_065"  
  467.                     android:tag="32"  
  468.                     android:layout_width="75px"  
  469.                     android:layout_height="100px"  
  470.                     android:layout_marginLeft="5dp"/>  
  471.                 <ImageView  
  472.                     android:id="@+id/asc_066"  
  473.                     android:tag="33"  
  474.                     android:layout_width="75px"  
  475.                     android:layout_height="100px"  
  476.                     android:layout_marginLeft="5dp"/>  
  477.                 <ImageView  
  478.                     android:id="@+id/asc_067"  
  479.                     android:tag="34"  
  480.                     android:layout_width="75px"  
  481.                     android:layout_height="100px"  
  482.                     android:layout_marginLeft="5dp"/>  
  483.             </LinearLayout>  
  484.   
  485.             <LinearLayout  
  486.                 android:layout_width="match_parent"  
  487.                 android:layout_height="wrap_content"  
  488.                 android:layout_marginTop="5dp"  
  489.                 android:orientation="horizontal">  
  490.                 <TextView  
  491.                     android:layout_width="wrap_content"  
  492.                     android:layout_height="wrap_content"  
  493.                     android:layout_marginLeft="5dp"  
  494.                     android:layout_marginRight="75px"  
  495.                     android:text="D"/>  
  496.                 <TextView  
  497.                     android:layout_width="wrap_content"  
  498.                     android:layout_height="wrap_content"  
  499.                     android:layout_marginRight="75px"  
  500.                     android:text="E"/>  
  501.                 <TextView  
  502.                     android:layout_width="wrap_content"  
  503.                     android:layout_height="wrap_content"  
  504.                     android:layout_marginRight="75px"  
  505.                     android:text="F"/>  
  506.                 <TextView  
  507.                     android:layout_width="wrap_content"  
  508.                     android:layout_height="wrap_content"  
  509.                     android:layout_marginRight="75px"  
  510.                     android:text="G"/>  
  511.                 <TextView  
  512.                     android:layout_width="wrap_content"  
  513.                     android:layout_height="wrap_content"  
  514.                     android:layout_marginRight="75px"  
  515.                     android:text="H"/>  
  516.                 <TextView  
  517.                     android:layout_width="wrap_content"  
  518.                     android:layout_height="wrap_content"  
  519.                     android:layout_marginRight="75px"  
  520.                     android:text="I"/>  
  521.                 <TextView  
  522.                     android:layout_width="wrap_content"  
  523.                     android:layout_height="wrap_content"  
  524.                     android:layout_marginRight="75px"  
  525.                     android:text="J"/>  
  526.             </LinearLayout>  
  527.   
  528.             <LinearLayout  
  529.                 android:layout_width="match_parent"  
  530.                 android:layout_height="wrap_content"  
  531.                 android:layout_marginTop="5dp"  
  532.                 android:orientation="horizontal">  
  533.                 <ImageView  
  534.                     android:id="@+id/asc_068"  
  535.                     android:tag="35"  
  536.                     android:layout_width="75px"  
  537.                     android:layout_height="100px"  
  538.                     android:layout_marginLeft="5dp"/>  
  539.                 <ImageView  
  540.                     android:id="@+id/asc_069"  
  541.                     android:tag="36"  
  542.                     android:layout_width="75px"  
  543.                     android:layout_height="100px"  
  544.                     android:layout_marginLeft="5dp"/>  
  545.                 <ImageView  
  546.                     android:id="@+id/asc_070"  
  547.                     android:tag="37"  
  548.                     android:layout_width="75px"  
  549.                     android:layout_height="100px"  
  550.                     android:layout_marginLeft="5dp"/>  
  551.                 <ImageView  
  552.                     android:id="@+id/asc_071"  
  553.                     android:tag="38"  
  554.                     android:layout_width="75px"  
  555.                     android:layout_height="100px"  
  556.                     android:layout_marginLeft="5dp"/>  
  557.                 <ImageView  
  558.                     android:id="@+id/asc_072"  
  559.                     android:tag="39"  
  560.                     android:layout_width="75px"  
  561.                     android:layout_height="100px"  
  562.                     android:layout_marginLeft="5dp"/>  
  563.                 <ImageView  
  564.                     android:id="@+id/asc_073"  
  565.                     android:tag="40"  
  566.                     android:layout_width="75px"  
  567.                     android:layout_height="100px"  
  568.                     android:layout_marginLeft="5dp"/>  
  569.                 <ImageView  
  570.                     android:id="@+id/asc_074"  
  571.                     android:tag="41"  
  572.                     android:layout_width="75px"  
  573.                     android:layout_height="100px"  
  574.                     android:layout_marginLeft="5dp"/>  
  575.             </LinearLayout>  
  576.   
  577.             <LinearLayout  
  578.                 android:layout_width="match_parent"  
  579.                 android:layout_height="wrap_content"  
  580.                 android:layout_marginTop="5dp"  
  581.                 android:orientation="horizontal">  
  582.                 <TextView  
  583.                     android:layout_width="wrap_content"  
  584.                     android:layout_height="wrap_content"  
  585.                     android:layout_marginLeft="5dp"  
  586.                     android:layout_marginRight="75px"  
  587.                     android:text="K"/>  
  588.                 <TextView  
  589.                     android:layout_width="wrap_content"  
  590.                     android:layout_height="wrap_content"  
  591.                     android:layout_marginRight="75px"  
  592.                     android:text="L"/>  
  593.                 <TextView  
  594.                     android:layout_width="wrap_content"  
  595.                     android:layout_height="wrap_content"  
  596.                     android:layout_marginRight="75px"  
  597.                     android:text="M"/>  
  598.                 <TextView  
  599.                     android:layout_width="wrap_content"  
  600.                     android:layout_height="wrap_content"  
  601.                     android:layout_marginRight="75px"  
  602.                     android:text="N"/>  
  603.                 <TextView  
  604.                     android:layout_width="wrap_content"  
  605.                     android:layout_height="wrap_content"  
  606.                     android:layout_marginRight="75px"  
  607.                     android:text="O"/>  
  608.                 <TextView  
  609.                     android:layout_width="wrap_content"  
  610.                     android:layout_height="wrap_content"  
  611.                     android:layout_marginRight="75px"  
  612.                     android:text="P"/>  
  613.                 <TextView  
  614.                     android:layout_width="wrap_content"  
  615.                     android:layout_height="wrap_content"  
  616.                     android:layout_marginRight="75px"  
  617.                     android:text="Q"/>  
  618.             </LinearLayout>  
  619.   
  620.             <LinearLayout  
  621.                 android:layout_width="match_parent"  
  622.                 android:layout_height="wrap_content"  
  623.                 android:layout_marginTop="5dp"  
  624.                 android:orientation="horizontal">  
  625.                 <ImageView  
  626.                     android:id="@+id/asc_075"  
  627.                     android:tag="42"  
  628.                     android:layout_width="75px"  
  629.                     android:layout_height="100px"  
  630.                     android:layout_marginLeft="5dp"/>  
  631.                 <ImageView  
  632.                     android:id="@+id/asc_076"  
  633.                     android:tag="43"  
  634.                     android:layout_width="75px"  
  635.                     android:layout_height="100px"  
  636.                     android:layout_marginLeft="5dp"/>  
  637.                 <ImageView  
  638.                     android:id="@+id/asc_077"  
  639.                     android:tag="44"  
  640.                     android:layout_width="75px"  
  641.                     android:layout_height="100px"  
  642.                     android:layout_marginLeft="5dp"/>  
  643.                 <ImageView  
  644.                     android:id="@+id/asc_078"  
  645.                     android:tag="45"  
  646.                     android:layout_width="75px"  
  647.                     android:layout_height="100px"  
  648.                     android:layout_marginLeft="5dp"/>  
  649.                 <ImageView  
  650.                     android:id="@+id/asc_079"  
  651.                     android:tag="46"  
  652.                     android:layout_width="75px"  
  653.                     android:layout_height="100px"  
  654.                     android:layout_marginLeft="5dp"/>  
  655.                 <ImageView  
  656.                     android:id="@+id/asc_080"  
  657.                     android:tag="47"  
  658.                     android:layout_width="75px"  
  659.                     android:layout_height="100px"  
  660.                     android:layout_marginLeft="5dp"/>  
  661.                 <ImageView  
  662.                     android:id="@+id/asc_081"  
  663.                     android:tag="48"  
  664.                     android:layout_width="75px"  
  665.                     android:layout_height="100px"  
  666.                     android:layout_marginLeft="5dp"/>  
  667.             </LinearLayout>  
  668.   
  669.             <LinearLayout  
  670.                 android:layout_width="match_parent"  
  671.                 android:layout_height="wrap_content"  
  672.                 android:layout_marginTop="5dp"  
  673.                 android:orientation="horizontal">  
  674.                 <TextView  
  675.                     android:layout_width="wrap_content"  
  676.                     android:layout_height="wrap_content"  
  677.                     android:layout_marginLeft="5dp"  
  678.                     android:layout_marginRight="75px"  
  679.                     android:text="R"/>  
  680.                 <TextView  
  681.                     android:layout_width="wrap_content"  
  682.                     android:layout_height="wrap_content"  
  683.                     android:layout_marginRight="75px"  
  684.                     android:text="S"/>  
  685.                 <TextView  
  686.                     android:layout_width="wrap_content"  
  687.                     android:layout_height="wrap_content"  
  688.                     android:layout_marginRight="75px"  
  689.                     android:text="T"/>  
  690.                 <TextView  
  691.                     android:layout_width="wrap_content"  
  692.                     android:layout_height="wrap_content"  
  693.                     android:layout_marginRight="75px"  
  694.                     android:text="U"/>  
  695.                 <TextView  
  696.                     android:layout_width="wrap_content"  
  697.                     android:layout_height="wrap_content"  
  698.                     android:layout_marginRight="75px"  
  699.                     android:text="V"/>  
  700.                 <TextView  
  701.                     android:layout_width="wrap_content"  
  702.                     android:layout_height="wrap_content"  
  703.                     android:layout_marginRight="75px"  
  704.                     android:text="W"/>  
  705.                 <TextView  
  706.                     android:layout_width="wrap_content"  
  707.                     android:layout_height="wrap_content"  
  708.                     android:layout_marginRight="75px"  
  709.                     android:text="X"/>  
  710.             </LinearLayout>  
  711.   
  712.             <LinearLayout  
  713.                 android:layout_width="match_parent"  
  714.                 android:layout_height="wrap_content"  
  715.                 android:layout_marginTop="5dp"  
  716.                 android:orientation="horizontal">  
  717.                 <ImageView  
  718.                     android:id="@+id/asc_082"  
  719.                     android:tag="49"  
  720.                     android:layout_width="75px"  
  721.                     android:layout_height="100px"  
  722.                     android:layout_marginLeft="5dp"/>  
  723.                 <ImageView  
  724.                     android:id="@+id/asc_083"  
  725.                     android:tag="50"  
  726.                     android:layout_width="75px"  
  727.                     android:layout_height="100px"  
  728.                     android:layout_marginLeft="5dp"/>  
  729.                 <ImageView  
  730.                     android:id="@+id/asc_084"  
  731.                     android:tag="51"  
  732.                     android:layout_width="75px"  
  733.                     android:layout_height="100px"  
  734.                     android:layout_marginLeft="5dp"/>  
  735.                 <ImageView  
  736.                     android:id="@+id/asc_085"  
  737.                     android:tag="52"  
  738.                     android:layout_width="75px"  
  739.                     android:layout_height="100px"  
  740.                     android:layout_marginLeft="5dp"/>  
  741.                 <ImageView  
  742.                     android:id="@+id/asc_086"  
  743.                     android:tag="53"  
  744.                     android:layout_width="75px"  
  745.                     android:layout_height="100px"  
  746.                     android:layout_marginLeft="5dp"/>  
  747.                 <ImageView  
  748.                     android:id="@+id/asc_087"  
  749.                     android:tag="54"  
  750.                     android:layout_width="75px"  
  751.                     android:layout_height="100px"  
  752.                     android:layout_marginLeft="5dp"/>  
  753.                 <ImageView  
  754.                     android:id="@+id/asc_088"  
  755.                     android:tag="55"  
  756.                     android:layout_width="75px"  
  757.                     android:layout_height="100px"  
  758.                     android:layout_marginLeft="5dp"/>  
  759.             </LinearLayout>  
  760.   
  761.             <LinearLayout  
  762.                 android:layout_width="match_parent"  
  763.                 android:layout_height="wrap_content"  
  764.                 android:layout_marginTop="5dp"  
  765.                 android:orientation="horizontal">  
  766.                 <TextView  
  767.                     android:layout_width="wrap_content"  
  768.                     android:layout_height="wrap_content"  
  769.                     android:layout_marginLeft="5dp"  
  770.                     android:layout_marginRight="75px"  
  771.                     android:text="Y"/>  
  772.                 <TextView  
  773.                     android:layout_width="wrap_content"  
  774.                     android:layout_height="wrap_content"  
  775.                     android:layout_marginRight="75px"  
  776.                     android:text="Z"/>  
  777.                 <TextView  
  778.                     android:layout_width="wrap_content"  
  779.                     android:layout_height="wrap_content"  
  780.                     android:layout_marginRight="75px"  
  781.                     android:text="["/>  
  782.                 <TextView  
  783.                     android:id="@+id/asc092"  
  784.                     android:layout_width="wrap_content"  
  785.                     android:layout_height="wrap_content"  
  786.                     android:layout_marginRight="75px"  
  787.                     android:text=" " />  
  788.                 <TextView  
  789.                     android:layout_width="wrap_content"  
  790.                     android:layout_height="wrap_content"  
  791.                     android:layout_marginRight="75px"  
  792.                     android:text="]"/>  
  793.                 <TextView  
  794.                     android:layout_width="wrap_content"  
  795.                     android:layout_height="wrap_content"  
  796.                     android:layout_marginRight="75px"  
  797.                     android:text="^"/>  
  798.                 <TextView  
  799.                     android:layout_width="wrap_content"  
  800.                     android:layout_height="wrap_content"  
  801.                     android:layout_marginRight="75px"  
  802.                     android:text="_"/>  
  803.             </LinearLayout>  
  804.   
  805.             <LinearLayout  
  806.                 android:layout_width="match_parent"  
  807.                 android:layout_height="wrap_content"  
  808.                 android:layout_marginTop="5dp"  
  809.                 android:orientation="horizontal">  
  810.                 <ImageView  
  811.                     android:id="@+id/asc_089"  
  812.                     android:tag="56"  
  813.                     android:layout_width="75px"  
  814.                     android:layout_height="100px"  
  815.                     android:layout_marginLeft="5dp"/>  
  816.                 <ImageView  
  817.                     android:id="@+id/asc_090"  
  818.                     android:tag="57"  
  819.                     android:layout_width="75px"  
  820.                     android:layout_height="100px"  
  821.                     android:layout_marginLeft="5dp"/>  
  822.                 <ImageView  
  823.                     android:id="@+id/asc_091"  
  824.                     android:tag="58"  
  825.                     android:layout_width="75px"  
  826.                     android:layout_height="100px"  
  827.                     android:layout_marginLeft="5dp"/>  
  828.                 <ImageView  
  829.                     android:id="@+id/asc_092"  
  830.                     android:tag="59"  
  831.                     android:layout_width="75px"  
  832.                     android:layout_height="100px"  
  833.                     android:layout_marginLeft="5dp"/>  
  834.                 <ImageView  
  835.                     android:id="@+id/asc_093"  
  836.                     android:tag="60"  
  837.                     android:layout_width="75px"  
  838.                     android:layout_height="100px"  
  839.                     android:layout_marginLeft="5dp"/>  
  840.                 <ImageView  
  841.                     android:id="@+id/asc_094"  
  842.                     android:tag="61"  
  843.                     android:layout_width="75px"  
  844.                     android:layout_height="100px"  
  845.                     android:layout_marginLeft="5dp"/>  
  846.                 <ImageView  
  847.                     android:id="@+id/asc_095"  
  848.                     android:tag="62"  
  849.                     android:layout_width="75px"  
  850.                     android:layout_height="100px"  
  851.                     android:layout_marginLeft="5dp"/>  
  852.             </LinearLayout>  
  853.   
  854.             <LinearLayout  
  855.                 android:layout_width="match_parent"  
  856.                 android:layout_height="wrap_content"  
  857.                 android:layout_marginTop="5dp"  
  858.                 android:orientation="horizontal">  
  859.                 <TextView  
  860.                     android:layout_width="wrap_content"  
  861.                     android:layout_height="wrap_content"  
  862.                     android:layout_marginLeft="5dp"  
  863.                     android:layout_marginRight="75px"  
  864.                     android:text="`"/>  
  865.                 <TextView  
  866.                     android:layout_width="wrap_content"  
  867.                     android:layout_height="wrap_content"  
  868.                     android:layout_marginRight="75px"  
  869.                     android:text="a"/>  
  870.                 <TextView  
  871.                     android:layout_width="wrap_content"  
  872.                     android:layout_height="wrap_content"  
  873.                     android:layout_marginRight="75px"  
  874.                     android:text="b"/>  
  875.                 <TextView  
  876.                     android:layout_width="wrap_content"  
  877.                     android:layout_height="wrap_content"  
  878.                     android:layout_marginRight="75px"  
  879.                     android:text="c"/>  
  880.                 <TextView  
  881.                     android:layout_width="wrap_content"  
  882.                     android:layout_height="wrap_content"  
  883.                     android:layout_marginRight="75px"  
  884.                     android:text="d"/>  
  885.                 <TextView  
  886.                     android:layout_width="wrap_content"  
  887.                     android:layout_height="wrap_content"  
  888.                     android:layout_marginRight="75px"  
  889.                     android:text="e"/>  
  890.                 <TextView  
  891.                     android:layout_width="wrap_content"  
  892.                     android:layout_height="wrap_content"  
  893.                     android:layout_marginRight="75px"  
  894.                     android:text="f"/>  
  895.             </LinearLayout>  
  896.   
  897.             <LinearLayout  
  898.                 android:layout_width="match_parent"  
  899.                 android:layout_height="wrap_content"  
  900.                 android:layout_marginTop="5dp"  
  901.                 android:orientation="horizontal">  
  902.                 <ImageView  
  903.                     android:id="@+id/asc_096"  
  904.                     android:tag="63"  
  905.                     android:layout_width="75px"  
  906.                     android:layout_height="100px"  
  907.                     android:layout_marginLeft="5dp"/>  
  908.                 <ImageView  
  909.                     android:id="@+id/asc_097"  
  910.                     android:tag="64"  
  911.                     android:layout_width="75px"  
  912.                     android:layout_height="100px"  
  913.                     android:layout_marginLeft="5dp"/>  
  914.                 <ImageView  
  915.                     android:id="@+id/asc_098"  
  916.                     android:tag="65"  
  917.                     android:layout_width="75px"  
  918.                     android:layout_height="100px"  
  919.                     android:layout_marginLeft="5dp"/>  
  920.                 <ImageView  
  921.                     android:id="@+id/asc_099"  
  922.                     android:tag="66"  
  923.                     android:layout_width="75px"  
  924.                     android:layout_height="100px"  
  925.                     android:layout_marginLeft="5dp"/>  
  926.                 <ImageView  
  927.                     android:id="@+id/asc_100"  
  928.                     android:tag="67"  
  929.                     android:layout_width="75px"  
  930.                     android:layout_height="100px"  
  931.                     android:layout_marginLeft="5dp"/>  
  932.                 <ImageView  
  933.                     android:id="@+id/asc_101"  
  934.                     android:tag="68"  
  935.                     android:layout_width="75px"  
  936.                     android:layout_height="100px"  
  937.                     android:layout_marginLeft="5dp"/>  
  938.                 <ImageView  
  939.                     android:id="@+id/asc_102"  
  940.                     android:tag="69"  
  941.                     android:layout_width="75px"  
  942.                     android:layout_height="100px"  
  943.                     android:layout_marginLeft="5dp"/>  
  944.             </LinearLayout>  
  945.   
  946.             <LinearLayout  
  947.                 android:layout_width="match_parent"  
  948.                 android:layout_height="wrap_content"  
  949.                 android:layout_marginTop="5dp"  
  950.                 android:orientation="horizontal">  
  951.                 <TextView  
  952.                     android:layout_width="wrap_content"  
  953.                     android:layout_height="wrap_content"  
  954.                     android:layout_marginLeft="5dp"  
  955.                     android:layout_marginRight="75px"  
  956.                     android:text="g"/>  
  957.                 <TextView  
  958.                     android:layout_width="wrap_content"  
  959.                     android:layout_height="wrap_content"  
  960.                     android:layout_marginRight="75px"  
  961.                     android:text="h"/>  
  962.                 <TextView  
  963.                     android:layout_width="wrap_content"  
  964.                     android:layout_height="wrap_content"  
  965.                     android:layout_marginRight="75px"  
  966.                     android:text="i"/>  
  967.                 <TextView  
  968.                     android:layout_width="wrap_content"  
  969.                     android:layout_height="wrap_content"  
  970.                     android:layout_marginRight="75px"  
  971.                     android:text="j"/>  
  972.                 <TextView  
  973.                     android:layout_width="wrap_content"  
  974.                     android:layout_height="wrap_content"  
  975.                     android:layout_marginRight="75px"  
  976.                     android:text="k"/>  
  977.                 <TextView  
  978.                     android:layout_width="wrap_content"  
  979.                     android:layout_height="wrap_content"  
  980.                     android:layout_marginRight="75px"  
  981.                     android:text="l"/>  
  982.                 <TextView  
  983.                     android:layout_width="wrap_content"  
  984.                     android:layout_height="wrap_content"  
  985.                     android:layout_marginRight="75px"  
  986.                     android:text="m"/>  
  987.             </LinearLayout>  
  988.   
  989.             <LinearLayout  
  990.                 android:layout_width="match_parent"  
  991.                 android:layout_height="wrap_content"  
  992.                 android:layout_marginTop="5dp">  
  993.                 <ImageView  
  994.                     android:id="@+id/asc_103"  
  995.                     android:tag="70"  
  996.                     android:layout_width="75px"  
  997.                     android:layout_height="100px"  
  998.                     android:layout_marginLeft="5dp"/>  
  999.                 <ImageView  
  1000.                     android:id="@+id/asc_104"  
  1001.                     android:tag="71"  
  1002.                     android:layout_width="75px"  
  1003.                     android:layout_height="100px"  
  1004.                     android:layout_marginLeft="5dp"/>  
  1005.                 <ImageView  
  1006.                     android:id="@+id/asc_105"  
  1007.                     android:tag="72"  
  1008.                     android:layout_width="75px"  
  1009.                     android:layout_height="100px"  
  1010.                     android:layout_marginLeft="5dp"/>  
  1011.                 <ImageView  
  1012.                     android:id="@+id/asc_106"  
  1013.                     android:tag="73"  
  1014.                     android:layout_width="75px"  
  1015.                     android:layout_height="100px"  
  1016.                     android:layout_marginLeft="5dp"/>  
  1017.                 <ImageView  
  1018.                     android:id="@+id/asc_107"  
  1019.                     android:tag="74"  
  1020.                     android:layout_width="75px"  
  1021.                     android:layout_height="100px"  
  1022.                     android:layout_marginLeft="5dp"/>  
  1023.                 <ImageView  
  1024.                     android:id="@+id/asc_108"  
  1025.                     android:tag="75"  
  1026.                     android:layout_width="75px"  
  1027.                     android:layout_height="100px"  
  1028.                     android:layout_marginLeft="5dp"/>  
  1029.                 <ImageView  
  1030.                     android:id="@+id/asc_109"  
  1031.                     android:tag="76"  
  1032.                     android:layout_width="75px"  
  1033.                     android:layout_height="100px"  
  1034.                     android:layout_marginLeft="5dp"/>  
  1035.             </LinearLayout>  
  1036.   
  1037.             <LinearLayout  
  1038.                 android:layout_width="match_parent"  
  1039.                 android:layout_height="wrap_content"  
  1040.                 android:layout_marginTop="5dp"  
  1041.                 android:orientation="horizontal">  
  1042.                 <TextView  
  1043.                     android:layout_width="wrap_content"  
  1044.                     android:layout_height="wrap_content"  
  1045.                     android:layout_marginLeft="5dp"  
  1046.                     android:layout_marginRight="75px"  
  1047.                     android:text="n"/>  
  1048.                 <TextView  
  1049.                     android:layout_width="wrap_content"  
  1050.                     android:layout_height="wrap_content"  
  1051.                     android:layout_marginRight="75px"  
  1052.                     android:text="o"/>  
  1053.                 <TextView  
  1054.                     android:layout_width="wrap_content"  
  1055.                     android:layout_height="wrap_content"  
  1056.                     android:layout_marginRight="75px"  
  1057.                     android:text="p"/>  
  1058.                 <TextView  
  1059.                     android:layout_width="wrap_content"  
  1060.                     android:layout_height="wrap_content"  
  1061.                     android:layout_marginRight="75px"  
  1062.                     android:text="q"/>  
  1063.                 <TextView  
  1064.                     android:layout_width="wrap_content"  
  1065.                     android:layout_height="wrap_content"  
  1066.                     android:layout_marginRight="75px"  
  1067.                     android:text="r"/>  
  1068.                 <TextView  
  1069.                     android:layout_width="wrap_content"  
  1070.                     android:layout_height="wrap_content"  
  1071.                     android:layout_marginRight="75px"  
  1072.                     android:text="s"/>  
  1073.                 <TextView  
  1074.                     android:layout_width="wrap_content"  
  1075.                     android:layout_height="wrap_content"  
  1076.                     android:layout_marginRight="75px"  
  1077.                     android:text="t"/>  
  1078.             </LinearLayout>  
  1079.   
  1080.             <LinearLayout  
  1081.                 android:layout_width="match_parent"  
  1082.                 android:layout_height="wrap_content"  
  1083.                 android:layout_marginTop="5dp"  
  1084.                 android:orientation="horizontal">  
  1085.                 <ImageView  
  1086.                     android:id="@+id/asc_110"  
  1087.                     android:tag="77"  
  1088.                     android:layout_width="75px"  
  1089.                     android:layout_height="100px"  
  1090.                     android:layout_marginLeft="5dp"/>  
  1091.                 <ImageView  
  1092.                     android:id="@+id/asc_111"  
  1093.                     android:tag="78"  
  1094.                     android:layout_width="75px"  
  1095.                     android:layout_height="100px"  
  1096.                     android:layout_marginLeft="5dp"/>  
  1097.                 <ImageView  
  1098.                     android:id="@+id/asc_112"  
  1099.                     android:tag="79"  
  1100.                     android:layout_width="75px"  
  1101.                     android:layout_height="100px"  
  1102.                     android:layout_marginLeft="5dp"/>  
  1103.                 <ImageView  
  1104.                     android:id="@+id/asc_113"  
  1105.                     android:tag="80"  
  1106.                     android:layout_width="75px"  
  1107.                     android:layout_height="100px"  
  1108.                     android:layout_marginLeft="5dp"/>  
  1109.                 <ImageView  
  1110.                     android:id="@+id/asc_114"  
  1111.                     android:tag="81"  
  1112.                     android:layout_width="75px"  
  1113.                     android:layout_height="100px"  
  1114.                     android:layout_marginLeft="5dp"/>  
  1115.                 <ImageView  
  1116.                     android:id="@+id/asc_115"  
  1117.                     android:tag="82"  
  1118.                     android:layout_width="75px"  
  1119.                     android:layout_height="100px"  
  1120.                     android:layout_marginLeft="5dp"/>  
  1121.                 <ImageView  
  1122.                     android:id="@+id/asc_116"  
  1123.                     android:tag="83"  
  1124.                     android:layout_width="75px"  
  1125.                     android:layout_height="100px"  
  1126.                     android:layout_marginLeft="5dp"/>  
  1127.             </LinearLayout>  
  1128.   
  1129.             <LinearLayout  
  1130.                 android:layout_width="match_parent"  
  1131.                 android:layout_height="wrap_content"  
  1132.                 android:layout_marginTop="5dp"  
  1133.                 android:orientation="horizontal">  
  1134.                 <TextView  
  1135.                     android:layout_width="wrap_content"  
  1136.                     android:layout_height="wrap_content"  
  1137.                     android:layout_marginLeft="5dp"  
  1138.                     android:layout_marginRight="75px"  
  1139.                     android:text="u"/>  
  1140.                 <TextView  
  1141.                     android:layout_width="wrap_content"  
  1142.                     android:layout_height="wrap_content"  
  1143.                     android:layout_marginRight="75px"  
  1144.                     android:text="v"/>  
  1145.                 <TextView  
  1146.                     android:layout_width="wrap_content"  
  1147.                     android:layout_height="wrap_content"  
  1148.                     android:layout_marginRight="75px"  
  1149.                     android:text="w"/>  
  1150.                 <TextView  
  1151.                     android:layout_width="wrap_content"  
  1152.                     android:layout_height="wrap_content"  
  1153.                     android:layout_marginRight="75px"  
  1154.                     android:text="x"/>  
  1155.                 <TextView  
  1156.                     android:layout_width="wrap_content"  
  1157.                     android:layout_height="wrap_content"  
  1158.                     android:layout_marginRight="75px"  
  1159.                     android:text="y"/>  
  1160.                 <TextView  
  1161.                     android:layout_width="wrap_content"  
  1162.                     android:layout_height="wrap_content"  
  1163.                     android:layout_marginRight="75px"  
  1164.                     android:text="z"/>  
  1165.                 <TextView  
  1166.                     android:layout_width="wrap_content"  
  1167.                     android:layout_height="wrap_content"  
  1168.                     android:layout_marginRight="75px"  
  1169.                     android:text="{"/>  
  1170.             </LinearLayout>  
  1171.   
  1172.             <LinearLayout  
  1173.                 android:layout_width="match_parent"  
  1174.                 android:layout_height="wrap_content"  
  1175.                 android:layout_marginTop="5dp"  
  1176.                 android:orientation="horizontal">  
  1177.                 <ImageView  
  1178.                     android:id="@+id/asc_117"  
  1179.                     android:tag="84"  
  1180.                     android:layout_width="75px"  
  1181.                     android:layout_height="100px"  
  1182.                     android:layout_marginLeft="5dp"/>  
  1183.                 <ImageView  
  1184.                     android:id="@+id/asc_118"  
  1185.                     android:tag="85"  
  1186.                     android:layout_width="75px"  
  1187.                     android:layout_height="100px"  
  1188.                     android:layout_marginLeft="5dp"/>  
  1189.                 <ImageView  
  1190.                     android:id="@+id/asc_119"  
  1191.                     android:tag="86"  
  1192.                     android:layout_width="75px"  
  1193.                     android:layout_height="100px"  
  1194.                     android:layout_marginLeft="5dp"/>  
  1195.                 <ImageView  
  1196.                     android:id="@+id/asc_120"  
  1197.                     android:tag="87"  
  1198.                     android:layout_width="75px"  
  1199.                     android:layout_height="100px"  
  1200.                     android:layout_marginLeft="5dp"/>  
  1201.                 <ImageView  
  1202.                     android:id="@+id/asc_121"  
  1203.                     android:tag="88"  
  1204.                     android:layout_width="75px"  
  1205.                     android:layout_height="100px"  
  1206.                     android:layout_marginLeft="5dp"/>  
  1207.                 <ImageView  
  1208.                     android:id="@+id/asc_122"  
  1209.                     android:tag="89"  
  1210.                     android:layout_width="75px"  
  1211.                     android:layout_height="100px"  
  1212.                     android:layout_marginLeft="5dp"/>  
  1213.                 <ImageView  
  1214.                     android:id="@+id/asc_123"  
  1215.                     android:tag="90"  
  1216.                     android:layout_width="75px"  
  1217.                     android:layout_height="100px"  
  1218.                     android:layout_marginLeft="5dp"/>  
  1219.             </LinearLayout>  
  1220.   
  1221.             <LinearLayout  
  1222.                 android:layout_width="match_parent"  
  1223.                 android:layout_height="wrap_content"  
  1224.                 android:layout_marginTop="5dp"  
  1225.                 android:orientation="horizontal">  
  1226.                 <TextView  
  1227.                     android:layout_width="wrap_content"  
  1228.                     android:layout_height="wrap_content"  
  1229.                     android:layout_marginLeft="5dp"  
  1230.                     android:layout_marginRight="75px"  
  1231.                     android:text="|"/>  
  1232.                 <TextView  
  1233.                     android:layout_width="wrap_content"  
  1234.                     android:layout_height="wrap_content"  
  1235.                     android:layout_marginRight="75px"  
  1236.                     android:text="}"/>  
  1237.                 <TextView  
  1238.                     android:layout_width="wrap_content"  
  1239.                     android:layout_height="wrap_content"  
  1240.                     android:layout_marginRight="75px"  
  1241.                     android:text="~"/>  
  1242.             </LinearLayout>  
  1243.   
  1244.             <LinearLayout  
  1245.                 android:layout_width="match_parent"  
  1246.                 android:layout_height="wrap_content"  
  1247.                 android:layout_marginTop="5dp"  
  1248.                 android:orientation="horizontal">  
  1249.                 <ImageView  
  1250.                     android:id="@+id/asc_124"  
  1251.                     android:tag="91"  
  1252.                     android:layout_width="75px"  
  1253.                     android:layout_height="100px"  
  1254.                     android:layout_marginLeft="5dp"/>  
  1255.                 <ImageView  
  1256.                     android:id="@+id/asc_125"  
  1257.                     android:tag="92"  
  1258.                     android:layout_width="75px"  
  1259.                     android:layout_height="100px"  
  1260.                     android:layout_marginLeft="5dp"/>  
  1261.                 <ImageView  
  1262.                     android:id="@+id/asc_126"  
  1263.                     android:tag="93"  
  1264.                     android:layout_width="75px"  
  1265.                     android:layout_height="100px"  
  1266.                     android:layout_marginLeft="5dp"/>  
  1267.             </LinearLayout>  
  1268.   
  1269.         </LinearLayout>  
  1270.     </ScrollView>  
  1271.   
  1272. </LinearLayout>  


2. onCreate

TextView为设置系统默认的符号、字母、数字

tv1-tv6所想显示的符号xml中无法实现,在ContantActivity中完成

ImageView iv0-iv93为可以自定义,自己绘制的字体图片

为这些ImageView添加点击监听器

[java]  view plain  copy
  1. public class ContentActivity extends AppCompatActivity {  
  2.   
  3.     TextView tv1,tv2,tv3,tv4,tv5,tv6,mTvTitle;  
  4.     ImageView iv0,iv1,iv2,iv3,iv4,iv5,iv6,iv7,iv8,iv9,iv10,iv11,iv12,iv13,iv14,iv15, iv16,iv17,iv18,iv19,iv20,iv21,iv22,iv23,iv24  
  5.             ,iv25,iv26,iv27,iv28,iv29,iv30,iv31,iv32,iv33,iv34,iv35,iv36,iv37,iv38,iv39,iv40,iv41,iv42,iv43,iv44,iv45,iv46,iv47,iv48,iv49  
  6.             ,iv50,iv51,iv52,iv53,iv54,iv55,iv56,iv57,iv58,iv59,iv60,iv61,iv62,iv63,iv64,iv65,iv66,iv67,iv68,iv69,iv70,iv71,iv72,iv73,iv74,iv75  
  7.             ,iv76,iv77,iv78,iv79,iv80,iv81,iv82,iv83,iv84,iv85,iv86,iv87,iv88,iv89,iv90,iv91,iv92,iv93,mIvBack,mIvMenu;  
  8.     String[] imageStr;  
  9.     public static final int MY_ROW = 100;  
  10.     public static final int MY_COL = 75;  
  11.     int[][] myImageArray;  
  12.     Paint paint;  
  13.     private Bitmap showBitmap;  
  14.     private Canvas show_canvas;  
  15.     int ImageNum;//记录下点击的图片的编号  
  16.   
  17.     @Override  
  18.     protected void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.activity_words_album_layout);  
  21.   
  22.         setTitleBar("字体库列表",true,false);  
  23.   
  24.         paint = new Paint();  
  25.         tv1 = (TextView)findViewById(R.id.asc034);//双引号"  
  26.         tv2 = (TextView)findViewById(R.id.asc038);//and &号  
  27.         tv3 = (TextView)findViewById(R.id.asc063);//?  
  28.         tv4 = (TextView)findViewById(R.id.asc064);//@  
  29.         tv5 = (TextView)findViewById(R.id.asc60);//<  
  30.         tv6 = (TextView)findViewById(R.id.asc092);//|  
  31.   
  32.         iv0 = (ImageView)findViewById(R.id.asc_033);//!  
  33.         iv0.setTag(0);  
  34.         iv1 = (ImageView)findViewById(R.id.asc_034);//"  
  35.         iv1.setTag(1);  
  36.         iv2 = (ImageView)findViewById(R.id.asc_035);//#  
  37.         iv2.setTag(2);  
  38.         iv3 = (ImageView)findViewById(R.id.asc_036);//$  
  39.         iv3.setTag(3);  
  40.         iv4 = (ImageView)findViewById(R.id.asc_037);//%  
  41.         iv4.setTag(4);  
  42.         iv5 = (ImageView)findViewById(R.id.asc_038);//&  
  43.         iv5.setTag(5);  
  44.         iv6 = (ImageView)findViewById(R.id.asc_039);  
  45.         iv6.setTag(6);  
  46.         iv7 = (ImageView)findViewById(R.id.asc_040);  
  47.         iv7.setTag(7);  
  48.         iv8 = (ImageView)findViewById(R.id.asc_041);  
  49.         iv8.setTag(8);  
  50.         iv9 = (ImageView)findViewById(R.id.asc_042);  
  51.         iv9.setTag(9);  
  52.         iv10 = (ImageView)findViewById(R.id.asc_043);  
  53.         iv10.setTag(10);  
  54.         iv11 = (ImageView)findViewById(R.id.asc_044);  
  55.         iv11.setTag(11);  
  56.         iv12 = (ImageView)findViewById(R.id.asc_045);  
  57.         iv12.setTag(12);  
  58.         iv13 = (ImageView)findViewById(R.id.asc_046);  
  59.         iv13.setTag(13);  
  60.         iv14 = (ImageView)findViewById(R.id.asc_047);  
  61.         iv14.setTag(14);  
  62.         iv15 = (ImageView)findViewById(R.id.asc_048);  
  63.         iv15.setTag(15);  
  64.         iv16 = (ImageView)findViewById(R.id.asc_049);  
  65.         iv16.setTag(16);  
  66.         iv17 = (ImageView)findViewById(R.id.asc_050);  
  67.         iv17.setTag(17);  
  68.         iv18 = (ImageView)findViewById(R.id.asc_051);  
  69.         iv18.setTag(18);  
  70.         iv19 = (ImageView)findViewById(R.id.asc_052);  
  71.         iv19.setTag(19);  
  72.         iv20 = (ImageView)findViewById(R.id.asc_053);  
  73.         iv20.setTag(20);  
  74.         iv21 = (ImageView)findViewById(R.id.asc_054);  
  75.         iv21.setTag(21);  
  76.         iv22 = (ImageView)findViewById(R.id.asc_055);  
  77.         iv22.setTag(22);  
  78.         iv23 = (ImageView)findViewById(R.id.asc_056);  
  79.         iv23.setTag(23);  
  80.         iv24 = (ImageView)findViewById(R.id.asc_057);  
  81.         iv24.setTag(24);  
  82.         iv25 = (ImageView)findViewById(R.id.asc_058);  
  83.         iv25.setTag(25);  
  84.         iv26 = (ImageView)findViewById(R.id.asc_059);  
  85.         iv26.setTag(26);  
  86.         iv27 = (ImageView)findViewById(R.id.asc_060);  
  87.         iv27.setTag(27);  
  88.         iv28 = (ImageView)findViewById(R.id.asc_061);  
  89.         iv28.setTag(28);  
  90.         iv29 = (ImageView)findViewById(R.id.asc_062);  
  91.         iv29.setTag(29);  
  92.         iv30 = (ImageView)findViewById(R.id.asc_063);  
  93.         iv30.setTag(30);  
  94.         iv31 = (ImageView)findViewById(R.id.asc_064);  
  95.         iv31.setTag(31);  
  96.         iv32 = (ImageView)findViewById(R.id.asc_065);  
  97.         iv32.setTag(32);  
  98.         iv33 = (ImageView)findViewById(R.id.asc_066);  
  99.         iv33.setTag(33);  
  100.         iv34 = (ImageView)findViewById(R.id.asc_067);  
  101.         iv34.setTag(34);  
  102.         iv35 = (ImageView)findViewById(R.id.asc_068);  
  103.         iv35.setTag(35);  
  104.         iv36 = (ImageView)findViewById(R.id.asc_069);  
  105.         iv36.setTag(36);  
  106.         iv37 = (ImageView)findViewById(R.id.asc_070);  
  107.         iv37.setTag(37);  
  108.         iv38 = (ImageView)findViewById(R.id.asc_071);  
  109.         iv38.setTag(38);  
  110.         iv39 = (ImageView)findViewById(R.id.asc_072);  
  111.         iv39.setTag(39);  
  112.         iv40 = (ImageView)findViewById(R.id.asc_073);  
  113.         iv40.setTag(40);  
  114.         iv41 = (ImageView)findViewById(R.id.asc_074);  
  115.         iv41.setTag(41);  
  116.         iv42 = (ImageView)findViewById(R.id.asc_075);  
  117.         iv42.setTag(42);  
  118.         iv43 = (ImageView)findViewById(R.id.asc_076);  
  119.         iv43.setTag(43);  
  120.         iv44 = (ImageView)findViewById(R.id.asc_077);  
  121.         iv44.setTag(44);  
  122.         iv45 = (ImageView)findViewById(R.id.asc_078);  
  123.         iv45.setTag(45);  
  124.         iv46 = (ImageView)findViewById(R.id.asc_079);  
  125.         iv46.setTag(46);  
  126.         iv47 = (ImageView)findViewById(R.id.asc_080);  
  127.         iv47.setTag(47);  
  128.         iv48 = (ImageView)findViewById(R.id.asc_081);  
  129.         iv48.setTag(48);  
  130.         iv49 = (ImageView)findViewById(R.id.asc_082);  
  131.         iv49.setTag(49);  
  132.         iv50 = (ImageView)findViewById(R.id.asc_083);  
  133.         iv50.setTag(50);  
  134.         iv51 = (ImageView)findViewById(R.id.asc_084);  
  135.         iv51.setTag(51);  
  136.         iv52 = (ImageView)findViewById(R.id.asc_085);  
  137.         iv52.setTag(52);  
  138.         iv53 = (ImageView)findViewById(R.id.asc_086);  
  139.         iv53.setTag(53);  
  140.         iv54 = (ImageView)findViewById(R.id.asc_087);  
  141.         iv54.setTag(54);  
  142.         iv55 = (ImageView)findViewById(R.id.asc_088);  
  143.         iv55.setTag(55);  
  144.         iv56 = (ImageView)findViewById(R.id.asc_089);  
  145.         iv56.setTag(56);  
  146.         iv57 = (ImageView)findViewById(R.id.asc_090);  
  147.         iv57.setTag(57);  
  148.         iv58 = (ImageView)findViewById(R.id.asc_091);  
  149.         iv58.setTag(58);  
  150.         iv59 = (ImageView)findViewById(R.id.asc_092);  
  151.         iv59.setTag(59);  
  152.         iv60 = (ImageView)findViewById(R.id.asc_093);  
  153.         iv60.setTag(60);  
  154.         iv61 = (ImageView)findViewById(R.id.asc_094);  
  155.         iv61.setTag(61);  
  156.         iv62 = (ImageView)findViewById(R.id.asc_095);  
  157.         iv62.setTag(62);  
  158.         iv63 = (ImageView)findViewById(R.id.asc_096);  
  159.         iv63.setTag(63);  
  160.         iv64 = (ImageView)findViewById(R.id.asc_097);  
  161.         iv64.setTag(64);  
  162.         iv65 = (ImageView)findViewById(R.id.asc_098);  
  163.         iv65.setTag(65);  
  164.         iv66 = (ImageView)findViewById(R.id.asc_099);  
  165.         iv66.setTag(66);  
  166.         iv67 = (ImageView)findViewById(R.id.asc_100);  
  167.         iv67.setTag(67);  
  168.         iv68 = (ImageView)findViewById(R.id.asc_101);  
  169.         iv68.setTag(68);  
  170.         iv69 = (ImageView)findViewById(R.id.asc_102);  
  171.         iv69.setTag(69);  
  172.         iv70 = (ImageView)findViewById(R.id.asc_103);  
  173.         iv70.setTag(70);  
  174.         iv71 = (ImageView)findViewById(R.id.asc_104);  
  175.         iv71.setTag(71);  
  176.         iv72 = (ImageView)findViewById(R.id.asc_105);  
  177.         iv72.setTag(72);  
  178.         iv73 = (ImageView)findViewById(R.id.asc_106);  
  179.         iv73.setTag(73);  
  180.         iv74 = (ImageView)findViewById(R.id.asc_107);  
  181.         iv74.setTag(74);  
  182.         iv75 = (ImageView)findViewById(R.id.asc_108);  
  183.         iv75.setTag(75);  
  184.         iv76 = (ImageView)findViewById(R.id.asc_109);  
  185.         iv76.setTag(76);  
  186.         iv77 = (ImageView)findViewById(R.id.asc_110);  
  187.         iv77.setTag(77);  
  188.         iv78 = (ImageView)findViewById(R.id.asc_111);  
  189.         iv78.setTag(78);  
  190.         iv79 = (ImageView)findViewById(R.id.asc_112);  
  191.         iv79.setTag(79);  
  192.         iv80 = (ImageView)findViewById(R.id.asc_113);  
  193.         iv80.setTag(80);  
  194.         iv81 = (ImageView)findViewById(R.id.asc_114);  
  195.         iv81.setTag(81);  
  196.         iv82 = (ImageView)findViewById(R.id.asc_115);  
  197.         iv82.setTag(82);  
  198.         iv83 = (ImageView)findViewById(R.id.asc_116);  
  199.         iv83.setTag(83);  
  200.         iv84 = (ImageView)findViewById(R.id.asc_117);  
  201.         iv84.setTag(84);  
  202.         iv85 = (ImageView)findViewById(R.id.asc_118);  
  203.         iv85.setTag(85);  
  204.         iv86 = (ImageView)findViewById(R.id.asc_119);  
  205.         iv86.setTag(86);  
  206.         iv87 = (ImageView)findViewById(R.id.asc_120);  
  207.         iv87.setTag(87);  
  208.         iv88 = (ImageView)findViewById(R.id.asc_121);  
  209.         iv88.setTag(88);  
  210.         iv89 = (ImageView)findViewById(R.id.asc_122);  
  211.         iv89.setTag(89);  
  212.         iv90 = (ImageView)findViewById(R.id.asc_123);  
  213.         iv90.setTag(90);  
  214.         iv91 = (ImageView)findViewById(R.id.asc_124);  
  215.         iv91.setTag(91);  
  216.         iv92 = (ImageView)findViewById(R.id.asc_125);  
  217.         iv92.setTag(92);  
  218.         iv93 = (ImageView)findViewById(R.id.asc_126);  
  219.         iv93.setTag(93);  
  220.   
  221.         iv0.setOnClickListener(new OnImageClickListener());  
  222.         iv1.setOnClickListener(new OnImageClickListener());  
  223.         iv2.setOnClickListener(new OnImageClickListener());  
  224.         iv3.setOnClickListener(new OnImageClickListener());  
  225.         iv4.setOnClickListener(new OnImageClickListener());  
  226.         iv5.setOnClickListener(new OnImageClickListener());  
  227.         iv6.setOnClickListener(new OnImageClickListener());  
  228.         iv7.setOnClickListener(new OnImageClickListener());  
  229.         iv8.setOnClickListener(new OnImageClickListener());  
  230.         iv9.setOnClickListener(new OnImageClickListener());  
  231.         iv10.setOnClickListener(new OnImageClickListener());  
  232.         iv11.setOnClickListener(new OnImageClickListener());  
  233.         iv12.setOnClickListener(new OnImageClickListener());  
  234.         iv13.setOnClickListener(new OnImageClickListener());  
  235.         iv14.setOnClickListener(new OnImageClickListener());  
  236.         iv15.setOnClickListener(new OnImageClickListener());  
  237.         iv16.setOnClickListener(new OnImageClickListener());  
  238.         iv17.setOnClickListener(new OnImageClickListener());  
  239.         iv18.setOnClickListener(new OnImageClickListener());  
  240.         iv19.setOnClickListener(new OnImageClickListener());  
  241.         iv20.setOnClickListener(new OnImageClickListener());  
  242.         iv21.setOnClickListener(new OnImageClickListener());  
  243.         iv22.setOnClickListener(new OnImageClickListener());  
  244.         iv23.setOnClickListener(new OnImageClickListener());  
  245.         iv24.setOnClickListener(new OnImageClickListener());  
  246.         iv25.setOnClickListener(new OnImageClickListener());  
  247.         iv26.setOnClickListener(new OnImageClickListener());  
  248.         iv27.setOnClickListener(new OnImageClickListener());  
  249.         iv28.setOnClickListener(new OnImageClickListener());  
  250.         iv29.setOnClickListener(new OnImageClickListener());  
  251.         iv30.setOnClickListener(new OnImageClickListener());  
  252.         iv31.setOnClickListener(new OnImageClickListener());  
  253.         iv32.setOnClickListener(new OnImageClickListener());  
  254.         iv33.setOnClickListener(new OnImageClickListener());  
  255.         iv34.setOnClickListener(new OnImageClickListener());  
  256.         iv35.setOnClickListener(new OnImageClickListener());  
  257.         iv36.setOnClickListener(new OnImageClickListener());  
  258.         iv37.setOnClickListener(new OnImageClickListener());  
  259.         iv38.setOnClickListener(new OnImageClickListener());  
  260.         iv39.setOnClickListener(new OnImageClickListener());  
  261.         iv40.setOnClickListener(new OnImageClickListener());  
  262.         iv41.setOnClickListener(new OnImageClickListener());  
  263.         iv30.setOnClickListener(new OnImageClickListener());  
  264.         iv31.setOnClickListener(new OnImageClickListener());  
  265.         iv32.setOnClickListener(new OnImageClickListener());  
  266.         iv33.setOnClickListener(new OnImageClickListener());  
  267.         iv34.setOnClickListener(new OnImageClickListener());  
  268.         iv35.setOnClickListener(new OnImageClickListener());  
  269.         iv36.setOnClickListener(new OnImageClickListener());  
  270.         iv37.setOnClickListener(new OnImageClickListener());  
  271.         iv38.setOnClickListener(new OnImageClickListener());  
  272.         iv39.setOnClickListener(new OnImageClickListener());  
  273.         iv40.setOnClickListener(new OnImageClickListener());  
  274.         iv41.setOnClickListener(new OnImageClickListener());  
  275.         iv42.setOnClickListener(new OnImageClickListener());  
  276.         iv43.setOnClickListener(new OnImageClickListener());  
  277.         iv44.setOnClickListener(new OnImageClickListener());  
  278.         iv45.setOnClickListener(new OnImageClickListener());  
  279.         iv46.setOnClickListener(new OnImageClickListener());  
  280.         iv47.setOnClickListener(new OnImageClickListener());  
  281.         iv48.setOnClickListener(new OnImageClickListener());  
  282.         iv49.setOnClickListener(new OnImageClickListener());  
  283.         iv50.setOnClickListener(new OnImageClickListener());  
  284.         iv51.setOnClickListener(new OnImageClickListener());  
  285.         iv52.setOnClickListener(new OnImageClickListener());  
  286.         iv53.setOnClickListener(new OnImageClickListener());  
  287.         iv54.setOnClickListener(new OnImageClickListener());  
  288.         iv55.setOnClickListener(new OnImageClickListener());  
  289.         iv56.setOnClickListener(new OnImageClickListener());  
  290.         iv57.setOnClickListener(new OnImageClickListener());  
  291.         iv58.setOnClickListener(new OnImageClickListener());  
  292.         iv59.setOnClickListener(new OnImageClickListener());  
  293.         iv60.setOnClickListener(new OnImageClickListener());  
  294.         iv61.setOnClickListener(new OnImageClickListener());  
  295.         iv62.setOnClickListener(new OnImageClickListener());  
  296.         iv63.setOnClickListener(new OnImageClickListener());  
  297.         iv64.setOnClickListener(new OnImageClickListener());  
  298.         iv65.setOnClickListener(new OnImageClickListener());  
  299.         iv66.setOnClickListener(new OnImageClickListener());  
  300.         iv67.setOnClickListener(new OnImageClickListener());  
  301.         iv68.setOnClickListener(new OnImageClickListener());  
  302.         iv69.setOnClickListener(new OnImageClickListener());  
  303.         iv70.setOnClickListener(new OnImageClickListener());  
  304.         iv71.setOnClickListener(new OnImageClickListener());  
  305.         iv72.setOnClickListener(new OnImageClickListener());  
  306.         iv73.setOnClickListener(new OnImageClickListener());  
  307.         iv74.setOnClickListener(new OnImageClickListener());  
  308.         iv75.setOnClickListener(new OnImageClickListener());  
  309.         iv76.setOnClickListener(new OnImageClickListener());  
  310.         iv77.setOnClickListener(new OnImageClickListener());  
  311.         iv78.setOnClickListener(new OnImageClickListener());  
  312.         iv79.setOnClickListener(new OnImageClickListener());  
  313.         iv80.setOnClickListener(new OnImageClickListener());  
  314.         iv81.setOnClickListener(new OnImageClickListener());  
  315.         iv82.setOnClickListener(new OnImageClickListener());  
  316.         iv83.setOnClickListener(new OnImageClickListener());  
  317.         iv84.setOnClickListener(new OnImageClickListener());  
  318.         iv85.setOnClickListener(new OnImageClickListener());  
  319.         iv86.setOnClickListener(new OnImageClickListener());  
  320.         iv87.setOnClickListener(new OnImageClickListener());  
  321.         iv88.setOnClickListener(new OnImageClickListener());  
  322.         iv89.setOnClickListener(new OnImageClickListener());  
  323.         iv90.setOnClickListener(new OnImageClickListener());  
  324.         iv91.setOnClickListener(new OnImageClickListener());  
  325.         iv92.setOnClickListener(new OnImageClickListener());  
  326.         iv93.setOnClickListener(new OnImageClickListener());  
  327.   
  328.         mIvBack.setOnClickListener(new mBackListener());  
  329.   
  330.         setTvs();  
  331.         setIvs();  
  332.     }  


3. 设置那六个activity_words_album_layout中没定义的TextView

分别表示"\"" , "&" , "?" , "@" , "<" , "|"

[java]  view plain  copy
  1. public void setTvs(){  
  2.     tv1.setText("\"");  
  3.     tv2.setText("&");  
  4.     tv3.setText("?");  
  5.     tv4.setText("@");  
  6.     tv5.setText("<");  
  7.     tv6.setText("|");  
  8.   
  9. }  


4. 设置之前定义的ImageView内容

初始化一个自定义的SQLiteDatabase的帮助类,创建一个读写数据库(放置我们自定义的字体(ImageView))

cursor(每行的集合):db以表的形式存放数据,定义该表名“array”,每一列分别为"id", "content", "name", 排序方式为id

移动光标到每一行,取出每一列数据,同时将内容数据(content)按行列存入myImageArray

按照"name"序列,设置绘制新内容(如“!”name为0)

[java]  view plain  copy
  1. public void setIvs(){  
  2.       ImageSQLiteHelper dbHelper = new ImageSQLiteHelper(ContentActivity.this,"my_nn_database");  
  3.       SQLiteDatabase db = dbHelper.getWritableDatabase();  
  4.       Cursor cursor = db.query("array",new String[]{"id","content","name"},null,null,null,null,"id",null);  
  5.       while (cursor.moveToNext()) {  
  6.           String content = cursor.getString(cursor.getColumnIndex("content"));  
  7.           String id = cursor.getString(cursor.getColumnIndex("id"));  
  8.           String num = cursor.getString(cursor.getColumnIndex("name"));//!的name是0  
  9.           System.out.println("" + num+"   "+ content + "------------" + id);  
  10.   
  11.           imageStr = content.split("[,]");  
  12.           myImageArray = new int[MY_ROW][MY_COL];  
  13.           for(int j = 0;j<MY_ROW;j++)  
  14.           {  
  15.               for(int k = 0;k<MY_COL;k++)  
  16.               {  
  17.                   myImageArray[j][k] = Integer.parseInt(imageStr[MY_COL*j+k]);  
  18.               }  
  19.           }  
  20.   
  21.           int order = Integer.parseInt(num);//转换成int  
  22.   
  23.           if(order == 0)  
  24.               paintNewImage(myImageArray,iv0);  
  25.           if(order == 1)  
  26.               paintNewImage(myImageArray,iv1);  
  27.           if(order == 2)  
  28.               paintNewImage(myImageArray,iv2);  
  29.           if(order == 3)  
  30.               paintNewImage(myImageArray,iv3);  
  31.           if(order == 4)  
  32.               paintNewImage(myImageArray,iv4);  
  33.           if(order == 5)  
  34.               paintNewImage(myImageArray,iv5);  
  35.           if(order == 6)  
  36.               paintNewImage(myImageArray,iv6);  
  37.           if(order == 7)  
  38.               paintNewImage(myImageArray,iv7);  
  39.           if(order == 8)  
  40.               paintNewImage(myImageArray,iv8);  
  41.           if(order == 9)  
  42.               paintNewImage(myImageArray,iv9);  
  43.           if(order == 10)  
  44.               paintNewImage(myImageArray,iv10);  
  45.           if(order == 11)  
  46.               paintNewImage(myImageArray,iv11);  
  47.           if(order == 12)  
  48.               paintNewImage(myImageArray,iv12);  
  49.           if(order == 13)  
  50.               paintNewImage(myImageArray,iv13);  
  51.           if(order == 14)  
  52.               paintNewImage(myImageArray,iv14);  
  53.           if(order == 15)  
  54.               paintNewImage(myImageArray,iv15);  
  55.           if(order == 16)  
  56.               paintNewImage(myImageArray,iv16);  
  57.           if(order == 17)  
  58.               paintNewImage(myImageArray,iv17);  
  59.           if(order == 18)  
  60.               paintNewImage(myImageArray,iv18);  
  61.           if(order == 19)  
  62.               paintNewImage(myImageArray,iv19);  
  63.           if(order == 20)  
  64.               paintNewImage(myImageArray,iv20);  
  65.           if(order == 21)  
  66.               paintNewImage(myImageArray,iv21);  
  67.           if(order == 22)  
  68.               paintNewImage(myImageArray,iv22);  
  69.           if(order == 23)  
  70.               paintNewImage(myImageArray,iv23);  
  71.           if(order == 24)  
  72.               paintNewImage(myImageArray,iv24);  
  73.           if(order == 25)  
  74.               paintNewImage(myImageArray,iv25);  
  75.           if(order == 26)  
  76.               paintNewImage(myImageArray,iv26);  
  77.           if(order == 27)  
  78.               paintNewImage(myImageArray,iv27);  
  79.           if(order == 28)  
  80.               paintNewImage(myImageArray,iv28);  
  81.           if(order == 29)  
  82.               paintNewImage(myImageArray,iv29);  
  83.           if(order == 30)  
  84.               paintNewImage(myImageArray,iv30);  
  85.           if(order == 31)  
  86.               paintNewImage(myImageArray,iv31);  
  87.           if(order == 32)  
  88.               paintNewImage(myImageArray,iv32);  
  89.           if(order == 33)  
  90.               paintNewImage(myImageArray,iv33);  
  91.           if(order == 34)  
  92.               paintNewImage(myImageArray,iv34);  
  93.           if(order == 35)  
  94.               paintNewImage(myImageArray,iv35);  
  95.           if(order == 36)  
  96.               paintNewImage(myImageArray,iv36);  
  97.           if(order == 37)  
  98.               paintNewImage(myImageArray,iv37);  
  99.           if(order == 38)  
  100.               paintNewImage(myImageArray,iv38);  
  101.           if(order == 39)  
  102.               paintNewImage(myImageArray,iv39);  
  103.           if(order == 40)  
  104.               paintNewImage(myImageArray,iv40);  
  105.           if(order == 41)  
  106.               paintNewImage(myImageArray,iv41);  
  107.           if(order == 42)  
  108.               paintNewImage(myImageArray,iv42);  
  109.           if(order == 43)  
  110.               paintNewImage(myImageArray,iv43);  
  111.           if(order == 44)  
  112.               paintNewImage(myImageArray,iv44);  
  113.           if(order == 45)  
  114.               paintNewImage(myImageArray,iv45);  
  115.           if(order == 46)  
  116.               paintNewImage(myImageArray,iv46);  
  117.           if(order == 47)  
  118.               paintNewImage(myImageArray,iv47);  
  119.           if(order == 48)  
  120.               paintNewImage(myImageArray,iv48);  
  121.           if(order == 49)  
  122.               paintNewImage(myImageArray,iv49);  
  123.           if(order == 50)  
  124.               paintNewImage(myImageArray,iv50);  
  125.           if(order == 51)  
  126.               paintNewImage(myImageArray,iv51);  
  127.           if(order == 52)  
  128.               paintNewImage(myImageArray,iv52);  
  129.           if(order == 53)  
  130.               paintNewImage(myImageArray,iv53);  
  131.           if(order == 54)  
  132.               paintNewImage(myImageArray,iv54);  
  133.           if(order == 55)  
  134.               paintNewImage(myImageArray,iv55);  
  135.           if(order == 56)  
  136.               paintNewImage(myImageArray,iv56);  
  137.           if(order == 57)  
  138.               paintNewImage(myImageArray,iv57);  
  139.           if(order == 58)  
  140.               paintNewImage(myImageArray,iv58);  
  141.           if(order == 59)  
  142.               paintNewImage(myImageArray,iv59);  
  143.           if(order == 60)  
  144.               paintNewImage(myImageArray,iv60);  
  145.           if(order == 61)  
  146.               paintNewImage(myImageArray,iv61);  
  147.           if(order == 62)  
  148.               paintNewImage(myImageArray,iv62);  
  149.           if(order == 63)  
  150.               paintNewImage(myImageArray,iv63);  
  151.           if(order == 64)  
  152.               paintNewImage(myImageArray,iv64);  
  153.           if(order == 65)  
  154.               paintNewImage(myImageArray,iv65);  
  155.           if(order == 66)  
  156.               paintNewImage(myImageArray,iv66);  
  157.           if(order == 67)  
  158.               paintNewImage(myImageArray,iv67);  
  159.           if(order == 68)  
  160.               paintNewImage(myImageArray,iv68);  
  161.           if(order == 69)  
  162.               paintNewImage(myImageArray,iv69);  
  163.           if(order == 70)  
  164.               paintNewImage(myImageArray,iv70);  
  165.           if(order == 71)  
  166.               paintNewImage(myImageArray,iv71);  
  167.           if(order == 72)  
  168.               paintNewImage(myImageArray,iv72);  
  169.           if(order == 73)  
  170.               paintNewImage(myImageArray,iv73);  
  171.           if(order == 74)  
  172.               paintNewImage(myImageArray,iv74);  
  173.           if(order == 75)  
  174.               paintNewImage(myImageArray,iv75);  
  175.           if(order == 76)  
  176.               paintNewImage(myImageArray,iv76);  
  177.           if(order == 77)  
  178.               paintNewImage(myImageArray,iv77);  
  179.           if(order == 78)  
  180.               paintNewImage(myImageArray,iv78);  
  181.           if(order == 79)  
  182.               paintNewImage(myImageArray,iv79);  
  183.           if(order == 80)  
  184.               paintNewImage(myImageArray,iv80);  
  185.           if(order == 81)  
  186.               paintNewImage(myImageArray,iv81);  
  187.           if(order == 82)  
  188.               paintNewImage(myImageArray,iv82);  
  189.           if(order == 83)  
  190.               paintNewImage(myImageArray,iv83);  
  191.           if(order == 84)  
  192.               paintNewImage(myImageArray,iv84);  
  193.           if(order == 85)  
  194.               paintNewImage(myImageArray,iv85);  
  195.           if(order == 86)  
  196.               paintNewImage(myImageArray,iv86);  
  197.           if(order == 87)  
  198.               paintNewImage(myImageArray,iv87);  
  199.           if(order == 88)  
  200.               paintNewImage(myImageArray,iv88);  
  201.           if(order == 89)  
  202.               paintNewImage(myImageArray,iv89);  
  203.           if(order == 90)  
  204.               paintNewImage(myImageArray,iv90);  
  205.           if(order == 91)  
  206.               paintNewImage(myImageArray,iv91);  
  207.           if(order == 92)  
  208.               paintNewImage(myImageArray,iv92);  
  209.           if(order == 93)  
  210.               paintNewImage(myImageArray,iv93);  
  211.       }  
  212.   }  

5. 绘制ImageView的图片内容
[java]  view plain  copy
  1. protected void paintNewImage(int[][] arr,ImageView iv) {//二维数组的行数和列数  
  2.   
  3.     int row = arr.length;  
  4.     int col = arr[0].length;  
  5.   
  6.     showBitmap = Bitmap.createBitmap(MY_COL,  
  7.             MY_ROW, Bitmap.Config.ARGB_8888);  
  8.     show_canvas = new Canvas(showBitmap);  
  9.     show_canvas.drawColor(Color.WHITE);  
  10.   
  11.     for (int i = 0; i < row; i++) {  
  12.         for (int j = 0; j < col; j++) {  
  13.             paint.setARGB(255000);  
  14.             paint.setStrokeWidth(4f);  
  15.             if (arr[i][j] == 0)  
  16.                 show_canvas.drawPoint(j, i, paint);  
  17.         }  
  18.     }  


6. 图片点击监听器

跳转到CreateActivity

[java]  view plain  copy
  1. private class OnImageClickListener implements View.OnClickListener{  
  2.   
  3.       @Override  
  4.       public void onClick(View view) {  
  5.           Intent intent = new Intent();  
  6.           intent.setClass(ContentActivity.this,CreateActivity.class);  
  7.           CreateActivity.count=(Integer)view.getTag();  
  8.           //ImageNum =(Integer)view.getTag();  
  9.           //intent.putExtra("myIntent",ImageNum+"");  
  10.           ContentActivity.this.startActivityForResult(intent,100);  
  11.       }  
  12.   }  


7. 返回监听器

[java]  view plain  copy
  1. private class OnImageClickListener implements View.OnClickListener{  
  2.   
  3.       @Override  
  4.       public void onClick(View view) {  
  5.           Intent intent = new Intent();  
  6.           intent.setClass(ContentActivity.this,CreateActivity.class);  
  7.           CreateActivity.count=(Integer)view.getTag();  
  8.           //ImageNum =(Integer)view.getTag();  
  9.           //intent.putExtra("myIntent",ImageNum+"");  
  10.           ContentActivity.this.startActivityForResult(intent,100);  
  11.       }  
  12.   }  

8. 设置标题栏

组件对应,并设置为可见

[java]  view plain  copy
  1. protected void setTitleBar(String titleName, boolean showBackIcon,boolean showMenuIcon){  
  2.      try {  
  3.          mTvTitle = (TextView) findViewById(R.id.tv_title);  
  4.          mTvTitle.setText(titleName);  
  5.          mIvBack = (ImageView) findViewById(R.id.iv_back_btn);  
  6.          mIvMenu = (ImageView) findViewById(R.id.iv_menu_btn);  
  7.          if (showBackIcon){  
  8.              mIvBack.setVisibility(View.VISIBLE);  
  9.          }  
  10.          if (showMenuIcon){  
  11.              mIvMenu.setVisibility(View.VISIBLE);  
  12.          }  
  13.      }catch (Exception e){  
  14.          e.printStackTrace();  
  15.      }  
  16.  }  


附上完整Content.java:

[java]  view plain  copy
  1. package com.ezreal.ezchat.activity;  
  2.   
  3. import android.content.Intent;  
  4. import android.database.Cursor;  
  5. import android.database.sqlite.SQLiteDatabase;  
  6. import android.graphics.Bitmap;  
  7. import android.graphics.Canvas;  
  8. import android.graphics.Color;  
  9. import android.graphics.Paint;  
  10. import android.os.Bundle;  
  11. import android.support.v7.app.AppCompatActivity;  
  12. import android.view.View;  
  13. import android.widget.ImageView;  
  14. import android.widget.TextView;  
  15.   
  16. import com.ezreal.ezchat.R;  
  17. import com.ezreal.ezchat.utils.ImageSQLiteHelper;  
  18.   
  19. /** 
  20.  * Created by 张静 
  21.  */  
  22.   
  23. public class ContentActivity extends AppCompatActivity {  
  24.   
  25.     TextView tv1,tv2,tv3,tv4,tv5,tv6,mTvTitle;  
  26.     ImageView iv0,iv1,iv2,iv3,iv4,iv5,iv6,iv7,iv8,iv9,iv10,iv11,iv12,iv13,iv14,iv15, iv16,iv17,iv18,iv19,iv20,iv21,iv22,iv23,iv24  
  27.             ,iv25,iv26,iv27,iv28,iv29,iv30,iv31,iv32,iv33,iv34,iv35,iv36,iv37,iv38,iv39,iv40,iv41,iv42,iv43,iv44,iv45,iv46,iv47,iv48,iv49  
  28.             ,iv50,iv51,iv52,iv53,iv54,iv55,iv56,iv57,iv58,iv59,iv60,iv61,iv62,iv63,iv64,iv65,iv66,iv67,iv68,iv69,iv70,iv71,iv72,iv73,iv74,iv75  
  29.             ,iv76,iv77,iv78,iv79,iv80,iv81,iv82,iv83,iv84,iv85,iv86,iv87,iv88,iv89,iv90,iv91,iv92,iv93,mIvBack,mIvMenu;  
  30.     String[] imageStr;  
  31.     public static final int MY_ROW = 100;  
  32.     public static final int MY_COL = 75;  
  33.     int[][] myImageArray;  
  34.     Paint paint;  
  35.     private Bitmap showBitmap;  
  36.     private Canvas show_canvas;  
  37.     int ImageNum;//记录下点击的图片的编号  
  38.   
  39.     @Override  
  40.     protected void onCreate(Bundle savedInstanceState) {  
  41.         super.onCreate(savedInstanceState);  
  42.         setContentView(R.layout.activity_words_album_layout);  
  43.   
  44.         setTitleBar("字体库列表",true,false);  
  45.   
  46.         paint = new Paint();  
  47.         tv1 = (TextView)findViewById(R.id.asc034);//双引号"  
  48.         tv2 = (TextView)findViewById(R.id.asc038);//and &号  
  49.         tv3 = (TextView)findViewById(R.id.asc063);//?  
  50.         tv4 = (TextView)findViewById(R.id.asc064);//@  
  51.         tv5 = (TextView)findViewById(R.id.asc60);//<  
  52.         tv6 = (TextView)findViewById(R.id.asc092);//|  
  53.   
  54.         iv0 = (ImageView)findViewById(R.id.asc_033);//!  
  55.         iv0.setTag(0);  
  56.         iv1 = (ImageView)findViewById(R.id.asc_034);//"  
  57.         iv1.setTag(1);  
  58.         iv2 = (ImageView)findViewById(R.id.asc_035);//#  
  59.         iv2.setTag(2);  
  60.         iv3 = (ImageView)findViewById(R.id.asc_036);//$  
  61.         iv3.setTag(3);  
  62.         iv4 = (ImageView)findViewById(R.id.asc_037);//%  
  63.         iv4.setTag(4);  
  64.         iv5 = (ImageView)findViewById(R.id.asc_038);//&  
  65.         iv5.setTag(5);  
  66.         iv6 = (ImageView)findViewById(R.id.asc_039);  
  67.         iv6.setTag(6);  
  68.         iv7 = (ImageView)findViewById(R.id.asc_040);  
  69.         iv7.setTag(7);  
  70.         iv8 = (ImageView)findViewById(R.id.asc_041);  
  71.         iv8.setTag(8);  
  72.         iv9 = (ImageView)findViewById(R.id.asc_042);  
  73.         iv9.setTag(9);  
  74.         iv10 = (ImageView)findViewById(R.id.asc_043);  
  75.         iv10.setTag(10);  
  76.         iv11 = (ImageView)findViewById(R.id.asc_044);  
  77.         iv11.setTag(11);  
  78.         iv12 = (ImageView)findViewById(R.id.asc_045);  
  79.         iv12.setTag(12);  
  80.         iv13 = (ImageView)findViewById(R.id.asc_046);  
  81.         iv13.setTag(13);  
  82.         iv14 = (ImageView)findViewById(R.id.asc_047);  
  83.         iv14.setTag(14);  
  84.         iv15 = (ImageView)findViewById(R.id.asc_048);  
  85.         iv15.setTag(15);  
  86.         iv16 = (ImageView)findViewById(R.id.asc_049);  
  87.         iv16.setTag(16);  
  88.         iv17 = (ImageView)findViewById(R.id.asc_050);  
  89.         iv17.setTag(17);  
  90.         iv18 = (ImageView)findViewById(R.id.asc_051);  
  91.         iv18.setTag(18);  
  92.         iv19 = (ImageView)findViewById(R.id.asc_052);  
  93.         iv19.setTag(19);  
  94.         iv20 = (ImageView)findViewById(R.id.asc_053);  
  95.         iv20.setTag(20);  
  96.         iv21 = (ImageView)findViewById(R.id.asc_054);  
  97.         iv21.setTag(21);  
  98.         iv22 = (ImageView)findViewById(R.id.asc_055);  
  99.         iv22.setTag(22);  
  100.         iv23 = (ImageView)findViewById(R.id.asc_056);  
  101.         iv23.setTag(23);  
  102.         iv24 = (ImageView)findViewById(R.id.asc_057);  
  103.         iv24.setTag(24);  
  104.         iv25 = (ImageView)findViewById(R.id.asc_058);  
  105.         iv25.setTag(25);  
  106.         iv26 = (ImageView)findViewById(R.id.asc_059);  
  107.         iv26.setTag(26);  
  108.         iv27 = (ImageView)findViewById(R.id.asc_060);  
  109.         iv27.setTag(27);  
  110.         iv28 = (ImageView)findViewById(R.id.asc_061);  
  111.         iv28.setTag(28);  
  112.         iv29 = (ImageView)findViewById(R.id.asc_062);  
  113.         iv29.setTag(29);  
  114.         iv30 = (ImageView)findViewById(R.id.asc_063);  
  115.         iv30.setTag(30);  
  116.         iv31 = (ImageView)findViewById(R.id.asc_064);  
  117.         iv31.setTag(31);  
  118.         iv32 = (ImageView)findViewById(R.id.asc_065);  
  119.         iv32.setTag(32);  
  120.         iv33 = (ImageView)findViewById(R.id.asc_066);  
  121.         iv33.setTag(33);  
  122.         iv34 = (ImageView)findViewById(R.id.asc_067);  
  123.         iv34.setTag(34);  
  124.         iv35 = (ImageView)findViewById(R.id.asc_068);  
  125.         iv35.setTag(35);  
  126.         iv36 = (ImageView)findViewById(R.id.asc_069);  
  127.         iv36.setTag(36);  
  128.         iv37 = (ImageView)findViewById(R.id.asc_070);  
  129.         iv37.setTag(37);  
  130.         iv38 = (ImageView)findViewById(R.id.asc_071);  
  131.         iv38.setTag(38);  
  132.         iv39 = (ImageView)findViewById(R.id.asc_072);  
  133.         iv39.setTag(39);  
  134.         iv40 = (ImageView)findViewById(R.id.asc_073);  
  135.         iv40.setTag(40);  
  136.         iv41 = (ImageView)findViewById(R.id.asc_074);  
  137.         iv41.setTag(41);  
  138.         iv42 = (ImageView)findViewById(R.id.asc_075);  
  139.         iv42.setTag(42);  
  140.         iv43 = (ImageView)findViewById(R.id.asc_076);  
  141.         iv43.setTag(43);  
  142.         iv44 = (ImageView)findViewById(R.id.asc_077);  
  143.         iv44.setTag(44);  
  144.         iv45 = (ImageView)findViewById(R.id.asc_078);  
  145.         iv45.setTag(45);  
  146.         iv46 = (ImageView)findViewById(R.id.asc_079);  
  147.         iv46.setTag(46);  
  148.         iv47 = (ImageView)findViewById(R.id.asc_080);  
  149.         iv47.setTag(47);  
  150.         iv48 = (ImageView)findViewById(R.id.asc_081);  
  151.         iv48.setTag(48);  
  152.         iv49 = (ImageView)findViewById(R.id.asc_082);  
  153.         iv49.setTag(49);  
  154.         iv50 = (ImageView)findViewById(R.id.asc_083);  
  155.         iv50.setTag(50);  
  156.         iv51 = (ImageView)findViewById(R.id.asc_084);  
  157.         iv51.setTag(51);  
  158.         iv52 = (ImageView)findViewById(R.id.asc_085);  
  159.         iv52.setTag(52);  
  160.         iv53 = (ImageView)findViewById(R.id.asc_086);  
  161.         iv53.setTag(53);  
  162.         iv54 = (ImageView)findViewById(R.id.asc_087);  
  163.         iv54.setTag(54);  
  164.         iv55 = (ImageView)findViewById(R.id.asc_088);  
  165.         iv55.setTag(55);  
  166.         iv56 = (ImageView)findViewById(R.id.asc_089);  
  167.         iv56.setTag(56);  
  168.         iv57 = (ImageView)findViewById(R.id.asc_090);  
  169.         iv57.setTag(57);  
  170.         iv58 = (ImageView)findViewById(R.id.asc_091);  
  171.         iv58.setTag(58);  
  172.         iv59 = (ImageView)findViewById(R.id.asc_092);  
  173.         iv59.setTag(59);  
  174.         iv60 = (ImageView)findViewById(R.id.asc_093);  
  175.         iv60.setTag(60);  
  176.         iv61 = (ImageView)findViewById(R.id.asc_094);  
  177.         iv61.setTag(61);  
  178.         iv62 = (ImageView)findViewById(R.id.asc_095);  
  179.         iv62.setTag(62);  
  180.         iv63 = (ImageView)findViewById(R.id.asc_096);  
  181.         iv63.setTag(63);  
  182.         iv64 = (ImageView)findViewById(R.id.asc_097);  
  183.         iv64.setTag(64);  
  184.         iv65 = (ImageView)findViewById(R.id.asc_098);  
  185.         iv65.setTag(65);  
  186.         iv66 = (ImageView)findViewById(R.id.asc_099);  
  187.         iv66.setTag(66);  
  188.         iv67 = (ImageView)findViewById(R.id.asc_100);  
  189.         iv67.setTag(67);  
  190.         iv68 = (ImageView)findViewById(R.id.asc_101);  
  191.         iv68.setTag(68);  
  192.         iv69 = (ImageView)findViewById(R.id.asc_102);  
  193.         iv69.setTag(69);  
  194.         iv70 = (ImageView)findViewById(R.id.asc_103);  
  195.         iv70.setTag(70);  
  196.         iv71 = (ImageView)findViewById(R.id.asc_104);  
  197.         iv71.setTag(71);  
  198.         iv72 = (ImageView)findViewById(R.id.asc_105);  
  199.         iv72.setTag(72);  
  200.         iv73 = (ImageView)findViewById(R.id.asc_106);  
  201.         iv73.setTag(73);  
  202.         iv74 = (ImageView)findViewById(R.id.asc_107);  
  203.         iv74.setTag(74);  
  204.         iv75 = (ImageView)findViewById(R.id.asc_108);  
  205.         iv75.setTag(75);  
  206.         iv76 = (ImageView)findViewById(R.id.asc_109);  
  207.         iv76.setTag(76);  
  208.         iv77 = (ImageView)findViewById(R.id.asc_110);  
  209.         iv77.setTag(77);  
  210.         iv78 = (ImageView)findViewById(R.id.asc_111);  
  211.         iv78.setTag(78);  
  212.         iv79 = (ImageView)findViewById(R.id.asc_112);  
  213.         iv79.setTag(79);  
  214.         iv80 = (ImageView)findViewById(R.id.asc_113);  
  215.         iv80.setTag(80);  
  216.         iv81 = (ImageView)findViewById(R.id.asc_114);  
  217.         iv81.setTag(81);  
  218.         iv82 = (ImageView)findViewById(R.id.asc_115);  
  219.         iv82.setTag(82);  
  220.         iv83 = (ImageView)findViewById(R.id.asc_116);  
  221.         iv83.setTag(83);  
  222.         iv84 = (ImageView)findViewById(R.id.asc_117);  
  223.         iv84.setTag(84);  
  224.         iv85 = (ImageView)findViewById(R.id.asc_118);  
  225.         iv85.setTag(85);  
  226.         iv86 = (ImageView)findViewById(R.id.asc_119);  
  227.         iv86.setTag(86);  
  228.         iv87 = (ImageView)findViewById(R.id.asc_120);  
  229.         iv87.setTag(87);  
  230.         iv88 = (ImageView)findViewById(R.id.asc_121);  
  231.         iv88.setTag(88);  
  232.         iv89 = (ImageView)findViewById(R.id.asc_122);  
  233.         iv89.setTag(89);  
  234.         iv90 = (ImageView)findViewById(R.id.asc_123);  
  235.         iv90.setTag(90);  
  236.         iv91 = (ImageView)findViewById(R.id.asc_124);  
  237.         iv91.setTag(91);  
  238.         iv92 = (ImageView)findViewById(R.id.asc_125);  
  239.         iv92.setTag(92);  
  240.         iv93 = (ImageView)findViewById(R.id.asc_126);  
  241.         iv93.setTag(93);  
  242.   
  243.         iv0.setOnClickListener(new OnImageClickListener());  
  244.         iv1.setOnClickListener(new OnImageClickListener());  
  245.         iv2.setOnClickListener(new OnImageClickListener());  
  246.         iv3.setOnClickListener(new OnImageClickListener());  
  247.         iv4.setOnClickListener(new OnImageClickListener());  
  248.         iv5.setOnClickListener(new OnImageClickListener());  
  249.         iv6.setOnClickListener(new OnImageClickListener());  
  250.         iv7.setOnClickListener(new OnImageClickListener());  
  251.         iv8.setOnClickListener(new OnImageClickListener());  
  252.         iv9.setOnClickListener(new OnImageClickListener());  
  253.         iv10.setOnClickListener(new OnImageClickListener());  
  254.         iv11.setOnClickListener(new OnImageClickListener());  
  255.         iv12.setOnClickListener(new OnImageClickListener());  
  256.         iv13.setOnClickListener(new OnImageClickListener());  
  257.         iv14.setOnClickListener(new OnImageClickListener());  
  258.         iv15.setOnClickListener(new OnImageClickListener());  
  259.         iv16.setOnClickListener(new OnImageClickListener());  
  260.         iv17.setOnClickListener(new OnImageClickListener());  
  261.         iv18.setOnClickListener(new OnImageClickListener());  
  262.         iv19.setOnClickListener(new OnImageClickListener());  
  263.         iv20.setOnClickListener(new OnImageClickListener());  
  264.         iv21.setOnClickListener(new OnImageClickListener());  
  265.         iv22.setOnClickListener(new OnImageClickListener());  
  266.         iv23.setOnClickListener(new OnImageClickListener());  
  267.         iv24.setOnClickListener(new OnImageClickListener());  
  268.         iv25.setOnClickListener(new OnImageClickListener());  
  269.         iv26.setOnClickListener(new OnImageClickListener());  
  270.         iv27.setOnClickListener(new OnImageClickListener());  
  271.         iv28.setOnClickListener(new OnImageClickListener());  
  272.         iv29.setOnClickListener(new OnImageClickListener());  
  273.         iv30.setOnClickListener(new OnImageClickListener());  
  274.         iv31.setOnClickListener(new OnImageClickListener());  
  275.         iv32.setOnClickListener(new OnImageClickListener());  
  276.         iv33.setOnClickListener(new OnImageClickListener());  
  277.         iv34.setOnClickListener(new OnImageClickListener());  
  278.         iv35.setOnClickListener(new OnImageClickListener());  
  279.         iv36.setOnClickListener(new OnImageClickListener());  
  280.         iv37.setOnClickListener(new OnImageClickListener());  
  281.         iv38.setOnClickListener(new OnImageClickListener());  
  282.         iv39.setOnClickListener(new OnImageClickListener());  
  283.         iv40.setOnClickListener(new OnImageClickListener());  
  284.         iv41.setOnClickListener(new OnImageClickListener());  
  285.         iv30.setOnClickListener(new OnImageClickListener());  
  286.         iv31.setOnClickListener(new OnImageClickListener());  
  287.         iv32.setOnClickListener(new OnImageClickListener());  
  288.         iv33.setOnClickListener(new OnImageClickListener());  
  289.         iv34.setOnClickListener(new OnImageClickListener());  
  290.         iv35.setOnClickListener(new OnImageClickListener());  
  291.         iv36.setOnClickListener(new OnImageClickListener());  
  292.         iv37.setOnClickListener(new OnImageClickListener());  
  293.         iv38.setOnClickListener(new OnImageClickListener());  
  294.         iv39.setOnClickListener(new OnImageClickListener());  
  295.         iv40.setOnClickListener(new OnImageClickListener());  
  296.         iv41.setOnClickListener(new OnImageClickListener());  
  297.         iv42.setOnClickListener(new OnImageClickListener());  
  298.         iv43.setOnClickListener(new OnImageClickListener());  
  299.         iv44.setOnClickListener(new OnImageClickListener());  
  300.         iv45.setOnClickListener(new OnImageClickListener());  
  301.         iv46.setOnClickListener(new OnImageClickListener());  
  302.         iv47.setOnClickListener(new OnImageClickListener());  
  303.         iv48.setOnClickListener(new OnImageClickListener());  
  304.         iv49.setOnClickListener(new OnImageClickListener());  
  305.         iv50.setOnClickListener(new OnImageClickListener());  
  306.         iv51.setOnClickListener(new OnImageClickListener());  
  307.         iv52.setOnClickListener(new OnImageClickListener());  
  308.         iv53.setOnClickListener(new OnImageClickListener());  
  309.         iv54.setOnClickListener(new OnImageClickListener());  
  310.         iv55.setOnClickListener(new OnImageClickListener());  
  311.         iv56.setOnClickListener(new OnImageClickListener());  
  312.         iv57.setOnClickListener(new OnImageClickListener());  
  313.         iv58.setOnClickListener(new OnImageClickListener());  
  314.         iv59.setOnClickListener(new OnImageClickListener());  
  315.         iv60.setOnClickListener(new OnImageClickListener());  
  316.         iv61.setOnClickListener(new OnImageClickListener());  
  317.         iv62.setOnClickListener(new OnImageClickListener());  
  318.         iv63.setOnClickListener(new OnImageClickListener());  
  319.         iv64.setOnClickListener(new OnImageClickListener());  
  320.         iv65.setOnClickListener(new OnImageClickListener());  
  321.         iv66.setOnClickListener(new OnImageClickListener());  
  322.         iv67.setOnClickListener(new OnImageClickListener());  
  323.         iv68.setOnClickListener(new OnImageClickListener());  
  324.         iv69.setOnClickListener(new OnImageClickListener());  
  325.         iv70.setOnClickListener(new OnImageClickListener());  
  326.         iv71.setOnClickListener(new OnImageClickListener());  
  327.         iv72.setOnClickListener(new OnImageClickListener());  
  328.         iv73.setOnClickListener(new OnImageClickListener());  
  329.         iv74.setOnClickListener(new OnImageClickListener());  
  330.         iv75.setOnClickListener(new OnImageClickListener());  
  331.         iv76.setOnClickListener(new OnImageClickListener());  
  332.         iv77.setOnClickListener(new OnImageClickListener());  
  333.         iv78.setOnClickListener(new OnImageClickListener());  
  334.         iv79.setOnClickListener(new OnImageClickListener());  
  335.         iv80.setOnClickListener(new OnImageClickListener());  
  336.         iv81.setOnClickListener(new OnImageClickListener());  
  337.         iv82.setOnClickListener(new OnImageClickListener());  
  338.         iv83.setOnClickListener(new OnImageClickListener());  
  339.         iv84.setOnClickListener(new OnImageClickListener());  
  340.         iv85.setOnClickListener(new OnImageClickListener());  
  341.         iv86.setOnClickListener(new OnImageClickListener());  
  342.         iv87.setOnClickListener(new OnImageClickListener());  
  343.         iv88.setOnClickListener(new OnImageClickListener());  
  344.         iv89.setOnClickListener(new OnImageClickListener());  
  345.         iv90.setOnClickListener(new OnImageClickListener());  
  346.         iv91.setOnClickListener(new OnImageClickListener());  
  347.         iv92.setOnClickListener(new OnImageClickListener());  
  348.         iv93.setOnClickListener(new OnImageClickListener());  
  349.   
  350.         mIvBack.setOnClickListener(new mBackListener());  
  351.   
  352.         setTvs();  
  353.         setIvs();  
  354.     }  
  355.   
  356.     public void setTvs(){  
  357.         tv1.setText("\"");  
  358.         tv2.setText("&");  
  359.         tv3.setText("?");  
  360.         tv4.setText("@");  
  361.         tv5.setText("<");  
  362.         tv6.setText("|");  
  363.   
  364.     }  
  365.   
  366.     public void setIvs(){  
  367.         ImageSQLiteHelper dbHelper = new ImageSQLiteHelper(ContentActivity.this,"my_nn_database");  
  368.         SQLiteDatabase db = dbHelper.getWritableDatabase();  
  369.         Cursor cursor = db.query("array",new String[]{"id","content","name"},null,null,null,null,"id",null);  
  370.         while (cursor.moveToNext()) {  
  371.             String content = cursor.getString(cursor.getColumnIndex("content"));  
  372.             String id = cursor.getString(cursor.getColumnIndex("id"));  
  373.             String num = cursor.getString(cursor.getColumnIndex("name"));//!的name是0  
  374.             System.out.println("" + num+"   "+ content + "------------" + id);  
  375.   
  376.             imageStr = content.split("[,]");  
  377.             myImageArray = new int[MY_ROW][MY_COL];  
  378.             for(int j = 0;j<MY_ROW;j++)  
  379.             {  
  380.                 for(int k = 0;k<MY_COL;k++)  
  381.                 {  
  382.                     myImageArray[j][k] = Integer.parseInt(imageStr[MY_COL*j+k]);  
  383.                 }  
  384.             }  
  385.   
  386.             int order = Integer.parseInt(num);//转换成int  
  387.   
  388.             if(order == 0)  
  389.                 paintNewImage(myImageArray,iv0);  
  390.             if(order == 1)  
  391.                 paintNewImage(myImageArray,iv1);  
  392.             if(order == 2)  
  393.                 paintNewImage(myImageArray,iv2);  
  394.             if(order == 3)  
  395.                 paintNewImage(myImageArray,iv3);  
  396.             if(order == 4)  
  397.                 paintNewImage(myImageArray,iv4);  
  398.             if(order == 5)  
  399.                 paintNewImage(myImageArray,iv5);  
  400.             if(order == 6)  
  401.                 paintNewImage(myImageArray,iv6);  
  402.             if(order == 7)  
  403.                 paintNewImage(myImageArray,iv7);  
  404.             if(order == 8)  
  405.                 paintNewImage(myImageArray,iv8);  
  406.             if(order == 9)  
  407.                 paintNewImage(myImageArray,iv9);  
  408.             if(order == 10)  
  409.                 paintNewImage(myImageArray,iv10);  
  410.             if(order == 11)  
  411.                 paintNewImage(myImageArray,iv11);  
  412.             if(order == 12)  
  413.                 paintNewImage(myImageArray,iv12);  
  414.             if(order == 13)  
  415.                 paintNewImage(myImageArray,iv13);  
  416.             if(order == 14)  
  417.                 paintNewImage(myImageArray,iv14);  
  418.             if(order == 15)  
  419.                 paintNewImage(myImageArray,iv15);  
  420.             if(order == 16)  
  421.                 paintNewImage(myImageArray,iv16);  
  422.             if(order == 17)  
  423.                 paintNewImage(myImageArray,iv17);  
  424.             if(order == 18)  
  425.                 paintNewImage(myImageArray,iv18);  
  426.             if(order == 19)  
  427.                 paintNewImage(myImageArray,iv19);  
  428.             if(order == 20)  
  429.                 paintNewImage(myImageArray,iv20);  
  430.             if(order == 21)  
  431.                 paintNewImage(myImageArray,iv21);  
  432.             if(order == 22)  
  433.                 paintNewImage(myImageArray,iv22);  
  434.             if(order == 23)  
  435.                 paintNewImage(myImageArray,iv23);  
  436.             if(order == 24)  
  437.                 paintNewImage(myImageArray,iv24);  
  438.             if(order == 25)  
  439.                 paintNewImage(myImageArray,iv25);  
  440.             if(order == 26)  
  441.                 paintNewImage(myImageArray,iv26);  
  442.             if(order == 27)  
  443.                 paintNewImage(myImageArray,iv27);  
  444.             if(order == 28)  
  445.                 paintNewImage(myImageArray,iv28);  
  446.             if(order == 29)  
  447.                 paintNewImage(myImageArray,iv29);  
  448.             if(order == 30)  
  449.                 paintNewImage(myImageArray,iv30);  
  450.             if(order == 31)  
  451.                 paintNewImage(myImageArray,iv31);  
  452.             if(order == 32)  
  453.                 paintNewImage(myImageArray,iv32);  
  454.             if(order == 33)  
  455.                 paintNewImage(myImageArray,iv33);  
  456.             if(order == 34)  
  457.                 paintNewImage(myImageArray,iv34);  
  458.             if(order == 35)  
  459.                 paintNewImage(myImageArray,iv35);  
  460.             if(order == 36)  
  461.                 paintNewImage(myImageArray,iv36);  
  462.             if(order == 37)  
  463.                 paintNewImage(myImageArray,iv37);  
  464.             if(order == 38)  
  465.                 paintNewImage(myImageArray,iv38);  
  466.             if(order == 39)  
  467.                 paintNewImage(myImageArray,iv39);  
  468.             if(order == 40)  
  469.                 paintNewImage(myImageArray,iv40);  
  470.             if(order == 41)  
  471.                 paintNewImage(myImageArray,iv41);  
  472.             if(order == 42)  
  473.                 paintNewImage(myImageArray,iv42);  
  474.             if(order == 43)  
  475.                 paintNewImage(myImageArray,iv43);  
  476.             if(order == 44)  
  477.                 paintNewImage(myImageArray,iv44);  
  478.             if(order == 45)  
  479.                 paintNewImage(myImageArray,iv45);  
  480.             if(order == 46)  
  481.                 paintNewImage(myImageArray,iv46);  
  482.             if(order == 47)  
  483.                 paintNewImage(myImageArray,iv47);  
  484.             if(order == 48)  
  485.                 paintNewImage(myImageArray,iv48);  
  486.             if(order == 49)  
  487.                 paintNewImage(myImageArray,iv49);  
  488.             if(order == 50)  
  489.                 paintNewImage(myImageArray,iv50);  
  490.             if(order == 51)  
  491.                 paintNewImage(myImageArray,iv51);  
  492.             if(order == 52)  
  493.                 paintNewImage(myImageArray,iv52);  
  494.             if(order == 53)  
  495.                 paintNewImage(myImageArray,iv53);  
  496.             if(order == 54)  
  497.                 paintNewImage(myImageArray,iv54);  
  498.             if(order == 55)  
  499.                 paintNewImage(myImageArray,iv55);  
  500.             if(order == 56)  
  501.                 paintNewImage(myImageArray,iv56);  
  502.             if(order == 57)  
  503.                 paintNewImage(myImageArray,iv57);  
  504.             if(order == 58)  
  505.                 paintNewImage(myImageArray,iv58);  
  506.             if(order == 59)  
  507.                 paintNewImage(myImageArray,iv59);  
  508.             if(order == 60)  
  509.                 paintNewImage(myImageArray,iv60);  
  510.             if(order == 61)  
  511.                 paintNewImage(myImageArray,iv61);  
  512.             if(order == 62)  
  513.                 paintNewImage(myImageArray,iv62);  
  514.             if(order == 63)  
  515.                 paintNewImage(myImageArray,iv63);  
  516.             if(order == 64)  
  517.                 paintNewImage(myImageArray,iv64);  
  518.             if(order == 65)  
  519.                 paintNewImage(myImageArray,iv65);  
  520.             if(order == 66)  
  521.                 paintNewImage(myImageArray,iv66);  
  522.             if(order == 67)  
  523.                 paintNewImage(myImageArray,iv67);  
  524.             if(order == 68)  
  525.                 paintNewImage(myImageArray,iv68);  
  526.             if(order == 69)  
  527.                 paintNewImage(myImageArray,iv69);  
  528.             if(order == 70)  
  529.                 paintNewImage(myImageArray,iv70);  
  530.             if(order == 71)  
  531.                 paintNewImage(myImageArray,iv71);  
  532.             if(order == 72)  
  533.                 paintNewImage(myImageArray,iv72);  
  534.             if(order == 73)  
  535.                 paintNewImage(myImageArray,iv73);  
  536.             if(order == 74)  
  537.                 paintNewImage(myImageArray,iv74);  
  538.             if(order == 75)  
  539.                 paintNewImage(myImageArray,iv75);  
  540.             if(order == 76)  
  541.                 paintNewImage(myImageArray,iv76);  
  542.             if(order == 77)  
  543.                 paintNewImage(myImageArray,iv77);  
  544.             if(order == 78)  
  545.                 paintNewImage(myImageArray,iv78);  
  546.             if(order == 79)  
  547.                 paintNewImage(myImageArray,iv79);  
  548.             if(order == 80)  
  549.                 paintNewImage(myImageArray,iv80);  
  550.             if(order == 81)  
  551.                 paintNewImage(myImageArray,iv81);  
  552.             if(order == 82)  
  553.                 paintNewImage(myImageArray,iv82);  
  554.             if(order == 83)  
  555.                 paintNewImage(myImageArray,iv83);  
  556.             if(order == 84)  
  557.                 paintNewImage(myImageArray,iv84);  
  558.             if(order == 85)  
  559.                 paintNewImage(myImageArray,iv85);  
  560.             if(order == 86)  
  561.                 paintNewImage(myImageArray,iv86);  
  562.             if(order == 87)  
  563.                 paintNewImage(myImageArray,iv87);  
  564.             if(order == 88)  
  565.                 paintNewImage(myImageArray,iv88);  
  566.             if(order == 89)  
  567.                 paintNewImage(myImageArray,iv89);  
  568.             if(order == 90)  
  569.                 paintNewImage(myImageArray,iv90);  
  570.             if(order == 91)  
  571.                 paintNewImage(myImageArray,iv91);  
  572.             if(order == 92)  
  573.                 paintNewImage(myImageArray,iv92);  
  574.             if(order == 93)  
  575.                 paintNewImage(myImageArray,iv93);  
  576.         }  
  577.     }  
  578.   
  579.     protected void paintNewImage(int[][] arr,ImageView iv) {//二维数组的行数和列数  
  580.   
  581.         int row = arr.length;  
  582.         int col = arr[0].length;  
  583.   
  584.         showBitmap = Bitmap.createBitmap(MY_COL,  
  585.                 MY_ROW, Bitmap.Config.ARGB_8888);  
  586.         show_canvas = new Canvas(showBitmap);  
  587.         show_canvas.drawColor(Color.WHITE);  
  588.   
  589.         for (int i = 0; i < row; i++) {  
  590.             for (int j = 0; j < col; j++) {  
  591.                 paint.setARGB(255000);  
  592.                 paint.setStrokeWidth(4f);  
  593.                 if (arr[i][j] == 0)  
  594.                     show_canvas.drawPoint(j, i, paint);  
  595.             }  
  596.         }  
  597.   
  598.         // 把图片展示到ImageView中  
  599.         iv.setImageBitmap(showBitmap);  
  600.     }  
  601.   
  602.     private class OnImageClickListener implements View.OnClickListener{  
  603.   
  604.         @Override  
  605.         public void onClick(View view) {  
  606.             Intent intent = new Intent();  
  607.             intent.setClass(ContentActivity.this,CreateActivity.class);  
  608.             CreateActivity.count=(Integer)view.getTag();  
  609.             //ImageNum =(Integer)view.getTag();  
  610.             //intent.putExtra("myIntent",ImageNum+"");  
  611.             ContentActivity.this.startActivityForResult(intent,100);  
  612.         }  
  613.     }  
  614.   
  615.     private class mBackListener implements View.OnClickListener{  
  616.         @Override  
  617.         public void onClick(View view){  
  618.             ContentActivity.this.finish();  
  619.         }  
  620.     }  
  621.   
  622.     /** 
  623.      * 设置标题栏 需确定 该页面的layout布局文件 include title_layout 
  624.      * @param titleName 标题 
  625.      * @param showBackIcon 是否显示返回按钮 
  626.      * @param showMenuIcon 是否显示菜单按钮 
  627.      */  
  628.     protected void setTitleBar(String titleName, boolean showBackIcon,boolean showMenuIcon){  
  629.         try {  
  630.             mTvTitle = (TextView) findViewById(R.id.tv_title);  
  631.             mTvTitle.setText(titleName);  
  632.             mIvBack = (ImageView) findViewById(R.id.iv_back_btn);  
  633.             mIvMenu = (ImageView) findViewById(R.id.iv_menu_btn);  
  634.             if (showBackIcon){  
  635.                 mIvBack.setVisibility(View.VISIBLE);  
  636.             }  
  637.             if (showMenuIcon){  
  638.                 mIvMenu.setVisibility(View.VISIBLE);  
  639.             }  
  640.         }catch (Exception e){  
  641.             e.printStackTrace();  
  642.         }  
  643.     }  
  644.     @Override  
  645.     protected void onActivityResult(int requestCode, int resultCode, Intent data)  
  646.     {  
  647.         //可以根据多个请求代码来作相应的操作  
  648.         if(20==resultCode)  
  649.         {  
  650.             setIvs();  
  651.         }  
  652.         super.onActivityResult(requestCode, resultCode, data);  
  653.     }  
  654.   
  655. }  



仝心:

  本次的工作主要工作是自定义了两个类:SystemUtils和ImageUtils,两个工具类分别用于处理页面信息(屏幕分辨率、高度等)以及处理图片。这两个类会在其他Java文件的功能实现中得以调用。

获取屏幕分辨率、状态栏高度、app显示高度、键盘高度:

[java]  view plain  copy
  1. /** 
  2.      * 获取屏幕分辨率高度 
  3.      * @param context 上下文 
  4.      * @return 屏幕高,与手机分辨率相关 
  5.      */  
  6.     public static int getScreenHeight(Context context){  
  7.         return context.getResources().getDisplayMetrics().heightPixels;  
  8.     }  
  9.   
  10.     /** 
  11.      * 或者状态栏高度 
  12.      * @param context 上下文 
  13.      * @return 状态栏高度 
  14.      */  
  15.     public static int getStatusHeight(Context context){  
  16.         Resources resources = context.getResources();  
  17.         int resourceId = resources.getIdentifier("status_bar_height",  
  18.                 "dimen","android");  
  19.         return resources.getDimensionPixelSize(resourceId);  
  20.     }  
  21.   
  22.     /** 
  23.      * 获取 APP 显示高度 
  24.      * @param activity 当前活动状态的 Activity 
  25.      * @return AppHeight(include ActionBar) = Screen Height - StatusHeight 
  26.      */  
  27.     public static int getAppHeight(Activity activity){  
  28.         Rect rect = new Rect();  
  29.         activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);  
  30.         return rect.height();  
  31.     }  
  32.   
  33.     /** 
  34.      * 获取软键盘显示高度 
  35.      * @param activity 当前活动状态的 Activity 
  36.      * @return 软键盘高度 = 分辨率高 - 状态栏高 - 应用可视高,第一次获取,该值为787 
  37.      */  
  38.     public static int getKeyBoardHeight(Activity activity){  
  39.         return getScreenHeight(activity) - getStatusHeight(activity) - getAppHeight(activity);  
  40.     }  

从文件获取bitmap并根据屏幕进行缩放、旋转得到的图片(90°、180°、270°)、将bitmap保存到本地等

[java]  view plain  copy
  1. /** 
  2.      * 从文件获取 bitmap ,并根据给定的显示宽高对 bitmap 进行缩放 
  3.      * 
  4.      * @param filePath 文件路径 
  5.      * @param height   需要显示的高度 
  6.      * @param width    需要显示的宽度 
  7.      * @return 缩放后的 bitmap,若获取失败,返回 null 
  8.      */  
  9.     public static Bitmap getBitmapFromFile(String filePath, int height, int width) {  
  10.         BitmapFactory.Options options = new BitmapFactory.Options();  
  11.         options.inJustDecodeBounds = true;  
  12.         BitmapFactory.decodeFile(filePath, options);  
  13.         float srcWidth = options.outWidth;  
  14.         float srcHeight = options.outHeight;  
  15.         if ((srcWidth == -1) || (srcHeight == -1))  
  16.             return null;  
  17.         int inSampleSize = 1;  
  18.         if (srcHeight > height || srcWidth > width) {  
  19.             if (srcWidth > srcHeight) {  
  20.                 inSampleSize = Math.round(srcHeight / height);  
  21.             } else {  
  22.                 inSampleSize = Math.round(srcWidth / width);  
  23.             }  
  24.         }  
  25.   
  26.         options.inJustDecodeBounds = false;  
  27.         options.inSampleSize = inSampleSize;  
  28.   
  29.         return BitmapFactory.decodeFile(filePath, options);  
  30.     }  
  31.   
  32.   
  33.   
  34.     /** 
  35.      * 获取图片旋转角度 
  36.      * 
  37.      * @param path 图片路径 
  38.      * @return 旋转角度 
  39.      */  
  40.     public static int getBitmapDegree(String path) {  
  41.         int degree = 0;  
  42.         try {  
  43.           /* 
  44.             TAG_DATETIME时间日期 
  45.             TAG_FLASH闪光灯 
  46.             TAG_GPS_LATITUDE纬度 
  47.             TAG_GPS_LATITUDE_REF纬度参考 
  48.             TAG_GPS_LONGITUDE经度 
  49.             TAG_GPS_LONGITUDE_REF经度参考 
  50.             TAG_IMAGE_LENGTH图片长 
  51.             TAG_IMAGE_WIDTH图片宽 
  52.             TAG_MAKE设备制造商 
  53.             TAG_MODEL设备型号 
  54.             TAG_ORIENTATION方向 
  55.             TAG_WHITE_BALANCE白平衡 */  
  56.   
  57.             ExifInterface exifInterface = new ExifInterface(path);  
  58.             int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION,  
  59.                     ExifInterface.ORIENTATION_NORMAL);  
  60.             switch (orientation) {  
  61.                 case ExifInterface.ORIENTATION_ROTATE_90:  
  62.                     degree = 90;  
  63.                     break;  
  64.                 case ExifInterface.ORIENTATION_ROTATE_180:  
  65.                     degree = 180;  
  66.                     break;  
  67.                 case ExifInterface.ORIENTATION_ROTATE_270:  
  68.                     degree = 270;  
  69.                     break;  
  70.             }  
  71.         } catch (IOException e) {  
  72.             e.printStackTrace();  
  73.         }  
  74.         return degree;  
  75.     }  
  76.   
  77.     /** 
  78.      * 根据给定的角度,对 bitmap 进行旋转 
  79.      * 
  80.      * @param bitmap 原始 bitmap 
  81.      * @param degree 旋转角度 
  82.      * @return 旋转之后的 bitmap 
  83.      */  
  84.     public static Bitmap rotateBitmapByDegree(Bitmap bitmap, int degree) {  
  85.         Bitmap returnBm;  
  86.         Matrix matrix = new Matrix();  
  87.         matrix.postRotate(degree);  
  88.         try {  
  89.             returnBm = Bitmap.createBitmap(bitmap, 00,  
  90.                     bitmap.getWidth(), bitmap.getHeight(), matrix, true);  
  91.         } catch (OutOfMemoryError e) {  
  92.             Log.e("ImageUtils", e.getMessage());  
  93.             return bitmap;  
  94.         }  
  95.         if (returnBm == null) {  
  96.             returnBm = bitmap;  
  97.         }  
  98.         if (bitmap != returnBm) {  
  99.             bitmap.recycle();  
  100.         }  
  101.         return returnBm;  
  102.     }  
  103.   
  104.   
  105.   
  106.   
  107.     public static String getFilePathFromUri(Context context,Uri uri) {  
  108.         String filePath = "";  
  109.         String[] filePathColumn = {MediaStore.MediaColumns.DATA};  
  110.         Cursor cursor = context.getContentResolver().query(uri, filePathColumn, nullnullnull);  
  111.         if (cursor != null){  
  112.             cursor.moveToFirst();  
  113.             int columnIndex = cursor.getColumnIndex(filePathColumn[0]);  
  114.             filePath = cursor.getString(columnIndex);  
  115.             cursor.close();  
  116.         }  
  117.         return filePath;  
  118.     }  
  119.   
  120.     /** 
  121.      * 将 bitmap 保存到本地 jpeg 
  122.      * 
  123.      * @param bitmap 图片 bitmap 
  124.      * @param path   保存路径(全路径) 
  125.      * @throws IOException 
  126.      */  
  127.     public static void saveBitmap2Jpg(Bitmap bitmap, String path) throws IOException {  
  128.         File file = new File(path);  
  129.         if (!file.exists()) {  
  130.             file.createNewFile();  
  131.         }  
  132.         OutputStream outputStream = new FileOutputStream(file);  
  133.         bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);  
  134.     }  
  135.   
  136.     /** 
  137.      * load bitmap by url into imageView with diskCache 
  138.      */  
  139.     public static void setImageByUrl(Context context, ImageView imageView, String url,int default_img) {  
  140.         setImageByString(context, imageView, url, default_img);  
  141.     }  
  142.   
  143.     /** 
  144.      * load bitmap by file path into imageView with diskCache 
  145.      */  
  146.     public static void setImageByFile(Context context, ImageView imageView, String filePath,int default_img) {  
  147.         setImageByString(context, imageView, filePath, default_img);  
  148.     }  
  149.   
  150.   
  151.   
  152.     private static void setImageByString(Context context, ImageView imageView, String path,int default_img) {  
  153.         Glide.with(context)  
  154.                 .load(path)  
  155.                 .asBitmap()  
  156.                 .error(default_img)  
  157.                 .diskCacheStrategy(DiskCacheStrategy.ALL)  
  158.                 .into(imageView);  
  159.     }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值