SheishuoUI.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.sheishuo.app.impl;
  2. import android.content.Context;
  3. import android.os.Build;
  4. import android.support.v7.widget.Toolbar;
  5. import android.view.Gravity;
  6. import android.view.View;
  7. import android.view.ViewGroup;
  8. import android.view.Window;
  9. import android.view.WindowManager;
  10. import android.widget.FrameLayout;
  11. import android.widget.Toast;
  12. import com.netease.nim.uikit.common.activity.UI;
  13. import com.netease.nimlib.sdk.NIMClient;
  14. import com.netease.nimlib.sdk.uinfo.UserInfoProvider;
  15. import com.netease.nimlib.sdk.uinfo.UserService;
  16. import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
  17. import com.sheishuo.app.R;
  18. import com.sheishuo.app.cache.SocialInfoCache;
  19. import static com.netease.nim.uikit.common.util.sys.ScreenUtil.getStatusBarHeight;
  20. /**
  21. * Created by KN on 2017/7/11.
  22. */
  23. public class SheishuoUI extends UI {
  24. Toolbar toolbar;
  25. Toast toast;
  26. SheishuoToolbarOptions options;
  27. public void setTransparentStatusBar(){
  28. //同时更改状态栏
  29. Window window = this.getWindow();
  30. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
  31. window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
  32. }
  33. ViewGroup decorViewGroup = (ViewGroup) window.getDecorView();
  34. View statusBarView = new View(window.getContext());
  35. int statusBarHeight = getStatusBarHeight(window.getContext());
  36. FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, statusBarHeight);
  37. params.gravity = Gravity.TOP;
  38. statusBarView.setLayoutParams(params);
  39. if (options != null) {
  40. statusBarView.setBackgroundColor(getResources().getColor(options.backgroundColor));
  41. }else {
  42. statusBarView.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
  43. }
  44. decorViewGroup.addView(statusBarView);
  45. }
  46. public void setToolBar(int toolBarId, SheishuoToolbarOptions options) {
  47. super.setToolBar(toolBarId, options);
  48. this.options = options;
  49. toolbar = (Toolbar) findViewById(toolBarId);
  50. toolbar.setBackgroundColor(getResources().getColor(options.backgroundColor));
  51. toolbar.setTitleTextColor(getResources().getColor(options.titleColor));
  52. //setTransparentStatusBar();
  53. }
  54. public void showToast(final Context context, final String str){
  55. getHandler().post(new Runnable() {
  56. @Override
  57. public void run() {
  58. if (toast == null){
  59. toast = Toast.makeText(context,str,Toast.LENGTH_SHORT);
  60. }else {
  61. toast.setText(str);
  62. }
  63. toast.show();
  64. }
  65. });
  66. }
  67. public String getName(String id){
  68. NimUserInfo user = NIMClient.getService(UserService.class)
  69. .getUserInfo(id);
  70. if (!user.getName().isEmpty()){
  71. return user.getName();
  72. }
  73. return SocialInfoCache.getSsid(id);
  74. }
  75. public NimUserInfo getUserInfo(String userId){
  76. return NIMClient.getService(UserService.class).getUserInfo(userId);
  77. }
  78. }