ChatBackgroundMaker.java
上传用户:szyujian
上传日期:2016-09-20
资源大小:320k
文件大小:2k
源码类别:

android开发

开发平台:

C/C++

  1. /*
  2.  * Copyright (C) 2008 Esmertec AG.
  3.  * Copyright (C) 2008 The Android Open Source Project
  4.  *
  5.  * Licensed under the Apache License, Version 2.0 (the "License");
  6.  * you may not use this file except in compliance with the License.
  7.  * You may obtain a copy of the License at
  8.  *
  9.  *      http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package com.android.im.app;
  18. import com.android.im.R;
  19. import android.content.Context;
  20. import android.content.res.Resources;
  21. import android.graphics.Rect;
  22. import android.graphics.drawable.Drawable;
  23. import android.provider.Im;
  24. import android.view.View;
  25. public class ChatBackgroundMaker {
  26.     private final Drawable mIncomingBg;
  27.     private final Drawable mDivider;
  28.     private final Rect mPadding;
  29.     public ChatBackgroundMaker(Context context) {
  30.         Resources res = context.getResources();
  31.         mIncomingBg = res.getDrawable(R.drawable.textfield_im_received);
  32.         mDivider = res.getDrawable(R.drawable.text_divider_horizontal);
  33.         mPadding = new Rect();
  34.         mIncomingBg.getPadding(mPadding);
  35.     }
  36.     public void setBackground(MessageView view, String contact, int type) {
  37.         View msgText = view.findViewById(R.id.message);
  38.         switch (type) {
  39.             case Im.MessageType.INCOMING:
  40.                 // TODO: set color according different contact
  41.                 msgText.setBackgroundDrawable(mIncomingBg);
  42.                 break;
  43.             case Im.MessageType.OUTGOING:
  44.             case Im.MessageType.POSTPONED:
  45.                 msgText.setBackgroundDrawable(null);
  46.                 msgText.setPadding(mPadding.left, mPadding.top, mPadding.right,
  47.                       mPadding.bottom);
  48.                 break;
  49.             default:
  50.                 msgText.setBackgroundDrawable(mDivider);
  51.         }
  52.     }
  53. }