dev
李桢 1 year ago
parent 304aab1325
commit 4fed3a9ff5
  1. 17
      app/src/main/java/com/unionmed/unionmedtv/activity/DoctorDetailActivity.java
  2. 60
      app/src/main/java/com/unionmed/unionmedtv/activity/HomeActivity.java
  3. 2
      app/src/main/java/com/unionmed/unionmedtv/activity/HospitalDetailActivity.java
  4. 20
      app/src/main/java/com/unionmed/unionmedtv/activity/MsgActivity.java
  5. 2
      app/src/main/java/com/unionmed/unionmedtv/adapter/HospitalAdapter.java
  6. 15
      app/src/main/java/com/unionmed/unionmedtv/adapter/HospitalDoctorAdapter.java
  7. 9
      app/src/main/java/com/unionmed/unionmedtv/api/GetHospitalDetailApi.java
  8. 7
      app/src/main/java/com/unionmed/unionmedtv/application/MyApplication.java
  9. 2
      app/src/main/java/com/unionmed/unionmedtv/bean/RemoteBean.java
  10. 33
      app/src/main/java/com/unionmed/unionmedtv/fragment/MyDoctorFragment.java
  11. 24
      app/src/main/java/com/unionmed/unionmedtv/login/activity/LoginActivity.java
  12. 14
      app/src/main/res/drawable/bg_focus_10.xml
  13. 12
      app/src/main/res/drawable/bg_focus_20.xml
  14. 4
      app/src/main/res/drawable/bg_focus_selector_20.xml
  15. 3
      app/src/main/res/layout/activity_doctor_detail.xml
  16. 13
      app/src/main/res/layout/activity_hospital_detail.xml
  17. 42
      app/src/main/res/layout/activity_video_call.xml
  18. 13
      app/src/main/res/layout/fragment_my_doctor.xml
  19. 2
      app/src/main/res/layout/item_msg_image_left_layout.xml
  20. 2
      app/src/main/res/layout/item_msg_image_right_layout.xml
  21. 2
      app/src/main/res/layout/item_msg_order_left_layout.xml
  22. 2
      app/src/main/res/layout/item_msg_order_right_layout.xml
  23. 2
      app/src/main/res/layout/item_msg_text_left_layout.xml
  24. 2
      app/src/main/res/layout/item_msg_text_right_layout.xml
  25. 1
      app/src/main/res/layout/item_type_doctor_layout.xml
  26. 3
      app/src/main/res/layout/item_type_hospital_layout.xml
  27. BIN
      app/src/main/res/mipmap-xhdpi/icon_doctor_detail_default.png
  28. BIN
      app/src/main/res/mipmap-xhdpi/icon_hospital_detail_default.png

@ -99,7 +99,7 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi
Glide.with(DoctorDetailActivity.this) Glide.with(DoctorDetailActivity.this)
.load(infoBean.getPhoto()) .load(infoBean.getPhoto())
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.white_e1e1e1) .placeholder(R.mipmap.icon_doctor_detail_default)
) )
.into(iv_image); .into(iv_image);
imAccount = infoBean.getIm_useraccount(); imAccount = infoBean.getIm_useraccount();
@ -125,7 +125,13 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi
} }
//所属医院 //所属医院
tv_affiliation_hospital.setText("所属医院: " + choscodeInfoBean.getChosname()); tv_affiliation_hospital.setText("所属医院: " + choscodeInfoBean.getChosname());
if (TextUtils.isEmpty(choscodeInfoBean.getJj())
||choscodeInfoBean.getJj().equals("null")) {
tv_doctor_brief.setText("医生简介: 暂无医生简介");
} else {
tv_doctor_brief.setText("医生简介: " + choscodeInfoBean.getJj()); tv_doctor_brief.setText("医生简介: " + choscodeInfoBean.getJj());
}
//医院等级 //医院等级
if (!TextUtils.isEmpty(choscodeInfoBean.getLevelname())) { if (!TextUtils.isEmpty(choscodeInfoBean.getLevelname())) {
tv_grade.setVisibility(View.VISIBLE); tv_grade.setVisibility(View.VISIBLE);
@ -135,7 +141,6 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi
} }
} else { } else {
tv_dept.setText("- -"); tv_dept.setText("- -");
tv_dept.setText("- -");
tv_grade.setVisibility(View.GONE); tv_grade.setVisibility(View.GONE);
} }
@ -155,7 +160,7 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi
if (view.getId() == R.id.lin_video) { if (view.getId() == R.id.lin_video) {
// 被叫用户 Id // 被叫用户 Id
String targetId = imAccount; String targetId = imAccount;
if(targetId.equals(CacheUtil.getImUserAccount())){ if (targetId.equals(CacheUtil.getImUserAccount())) {
ToastUtils.showShort("不能向自己发起视频"); ToastUtils.showShort("不能向自己发起视频");
return; return;
} }
@ -178,7 +183,7 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi
// toast("获取部分权限成功,但部分权限未正常授予"); // toast("获取部分权限成功,但部分权限未正常授予");
return; return;
} }
if (checkCamera()) { if (checkCamera(DoctorDetailActivity.this)) {
List<String> pKeys = new ArrayList<>(); List<String> pKeys = new ArrayList<>();
pKeys.add(targetId); pKeys.add(targetId);
EasyHttp.post(DoctorDetailActivity.this) EasyHttp.post(DoctorDetailActivity.this)
@ -224,8 +229,8 @@ public class DoctorDetailActivity extends BaseActivity implements View.OnClickLi
} }
} }
public boolean checkCamera() { public static boolean checkCamera(Context context) {
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); CameraManager cameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
try { try {
String[] cameraIds = cameraManager.getCameraIdList(); String[] cameraIds = cameraManager.getCameraIdList();
if (cameraIds.length > 0) { if (cameraIds.length > 0) {

@ -1,7 +1,11 @@
package com.unionmed.unionmedtv.activity; package com.unionmed.unionmedtv.activity;
import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.KeyEvent; import android.view.KeyEvent;
@ -43,7 +47,8 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
private TextView tv_name; private TextView tv_name;
private TextView tv_city; private TextView tv_city;
private ImageView iv_msg; private ImageView iv_msg;
private ImageView mIvNetwork;
private NetworkChangeReceiver networkChangeReceiver;
public static void StartActivity(Context context) { public static void StartActivity(Context context) {
Intent intent = new Intent(context, HomeActivity.class); Intent intent = new Intent(context, HomeActivity.class);
context.startActivity(intent); context.startActivity(intent);
@ -55,8 +60,36 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
setContentView(R.layout.activity_home); setContentView(R.layout.activity_home);
initView(); initView();
imConnect(); imConnect();
initBroadCast();
}
class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()) {
switch (networkInfo.getType()) {
case ConnectivityManager.TYPE_ETHERNET://以太网连接的网络类型
mIvNetwork.setImageResource(R.drawable.ethernet);
break;
case ConnectivityManager.TYPE_WIFI:
mIvNetwork.setImageResource(R.drawable.wifi);
break;
default:
break;
}
} else {
mIvNetwork.setImageResource(R.drawable.no_net);
}
}
}
private void initBroadCast() {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
networkChangeReceiver = new NetworkChangeReceiver();
registerReceiver(networkChangeReceiver, intentFilter);
} }
public void initView() { public void initView() {
fragments.add(new MyDoctorFragment()); fragments.add(new MyDoctorFragment());
tv_my_doctor = findViewById(R.id.tv_my_doctor); tv_my_doctor = findViewById(R.id.tv_my_doctor);
@ -70,6 +103,7 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
tv_city.setOnClickListener(this); tv_city.setOnClickListener(this);
iv_msg = findViewById(R.id.iv_msg); iv_msg = findViewById(R.id.iv_msg);
iv_msg.setOnClickListener(this); iv_msg.setOnClickListener(this);
mIvNetwork=findViewById(R.id.iv_network);
tv_city.setText(CacheUtil.getIpAddress() == null ? "选择城市" : CacheUtil.getIpAddress().getMemo()); tv_city.setText(CacheUtil.getIpAddress() == null ? "选择城市" : CacheUtil.getIpAddress().getMemo());
iv_avatar = findViewById(R.id.iv_avatar); iv_avatar = findViewById(R.id.iv_avatar);
Glide.with(this) Glide.with(this)
@ -173,14 +207,26 @@ public class HomeActivity extends BaseActivity implements View.OnFocusChangeList
@Override @Override
public boolean onKeyDown(int keyCode, KeyEvent event) { public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { if (keyCode == KeyEvent.KEYCODE_BACK) {
if (System.currentTimeMillis() - exitTime > 2000) { new XPopup.Builder(HomeActivity.this).isRequestFocus(true).dismissOnBackPressed(false).asCustom(new TipDialog(HomeActivity.this, "是否退出APP", new TipDialog.DialogClick() {
ToastUtils.showLong("在按一次退出程序"); @Override
exitTime = System.currentTimeMillis(); public void cancel() {
} else {
}
@Override
public void confirm() {
finish(); finish();
System.exit(0); System.exit(0);
} }
return false; })).show();
return true;
// if (System.currentTimeMillis() - exitTime > 2000) {
// ToastUtils.showLong("在按一次退出程序");
// exitTime = System.currentTimeMillis();
// } else {
// finish();
// System.exit(0);
// }
} }
return super.onKeyDown(keyCode, event); return super.onKeyDown(keyCode, event);
} }

@ -120,7 +120,7 @@ public class HospitalDetailActivity extends BaseActivity {
.load(data.getChosPhoto()) .load(data.getChosPhoto())
.apply(new RequestOptions() .apply(new RequestOptions()
.circleCrop() .circleCrop()
.placeholder(R.color.white_e1e1e1) .placeholder(R.mipmap.icon_hospital_detail_default)
.circleCrop()) .circleCrop())
.into(iv_image); .into(iv_image);
if (TextUtils.isEmpty(data.getLevelName())) { if (TextUtils.isEmpty(data.getLevelName())) {

@ -3,6 +3,7 @@ package com.unionmed.unionmedtv.activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.TextView; import android.widget.TextView;
@ -36,6 +37,9 @@ import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
public class MsgActivity extends BaseActivity { public class MsgActivity extends BaseActivity {
private RecyclerView recyclerView; private RecyclerView recyclerView;
private MsgListAdapter msgListAdapter; private MsgListAdapter msgListAdapter;
@ -61,6 +65,22 @@ public class MsgActivity extends BaseActivity {
tv_title = findViewById(R.id.tv_title); tv_title = findViewById(R.id.tv_title);
MyLinearLayoutManager myLinearLayoutManager = new MyLinearLayoutManager(MsgActivity.this); MyLinearLayoutManager myLinearLayoutManager = new MyLinearLayoutManager(MsgActivity.this);
recyclerView.setLayoutManager(myLinearLayoutManager); recyclerView.setLayoutManager(myLinearLayoutManager);
// Conversation.ConversationType[] conversationTypes = {Conversation.ConversationType.PRIVATE, Conversation.ConversationType.GROUP};
// RongIMClient.getInstance().getConversationListByPage(new RongIMClient.
// ResultCallback<List<Conversation>>() {
//
// @Override
// public void onSuccess(List<Conversation> conversations) {
// for (int i=0;i<conversations.size();i++){
// Log.i( "TAG", "onSuccess: ============="+conversations.get(i).getSenderUserId());
// }
// }
//
// @Override
// public void onError(RongIMClient.ErrorCode ErrorCode) {
//
// }
// },0, 20, conversationTypes);
list.add("通知"); list.add("通知");
list.add("赵医生"); list.add("赵医生");
list.add("陈医生"); list.add("陈医生");

@ -68,7 +68,7 @@ public class HospitalAdapter extends BaseDelegateMultiAdapter<GetHospitalApi.Mem
.load(memberBean.getLogo()) .load(memberBean.getLogo())
.apply(new RequestOptions() .apply(new RequestOptions()
.circleCrop() .circleCrop()
.placeholder(R.mipmap.icon_default_offline) .placeholder(R.mipmap.icon_hospital_detail_default)
.circleCrop()) .circleCrop())
.into(iv_hospital_icon); .into(iv_hospital_icon);
}else { }else {

@ -32,12 +32,23 @@ public class HospitalDoctorAdapter extends BaseQuickAdapter<GetHospitalDetailApi
@Override @Override
protected void convert(@NotNull BaseViewHolder vh, GetHospitalDetailApi.DoctorsBean memberBean) { protected void convert(@NotNull BaseViewHolder vh, GetHospitalDetailApi.DoctorsBean memberBean) {
TextView tv_online_status = vh.getView(R.id.tv_online_status);
int drawable;
if (memberBean.getOnline().equals("1")) {
tv_online_status.setText("在线");
tv_online_status.setBackground(getContext().getResources().getDrawable(R.drawable.shape_corner15_color_0bbac6));
drawable = R.mipmap.icon_default_online;
} else {
tv_online_status.setText("离线");
drawable = R.mipmap.icon_default_offline;
tv_online_status.setBackground(getContext().getResources().getDrawable(R.drawable.shape_corner15_color_9a9a9a));
}
ImageView iv_photo = vh.getView(R.id.iv_photo); ImageView iv_photo = vh.getView(R.id.iv_photo);
Glide.with(getContext()) Glide.with(getContext())
.load(memberBean.getPhoto()) .load(memberBean.getPhoto())
.apply(new RequestOptions() .apply(new RequestOptions()
.circleCrop() .circleCrop()
.placeholder(R.mipmap.icon_default_offline) .placeholder(drawable)
.circleCrop()) .circleCrop())
.into(iv_photo); .into(iv_photo);
TextView tv_name = vh.getView(R.id.tv_name); TextView tv_name = vh.getView(R.id.tv_name);
@ -65,6 +76,8 @@ public class HospitalDoctorAdapter extends BaseQuickAdapter<GetHospitalDetailApi
iv_sex.setImageDrawable(getContext().getResources().getDrawable(R.drawable.icon_sex_girl)); iv_sex.setImageDrawable(getContext().getResources().getDrawable(R.drawable.icon_sex_girl));
} }
} }
TextView tv_distance = vh.getView(R.id.tv_distance);
tv_distance.setVisibility(View.GONE);
vh.itemView.setOnClickListener(new View.OnClickListener() { vh.itemView.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {

@ -186,6 +186,15 @@ public final class GetHospitalDetailApi implements IRequestApi, IRequestType {
private String useraccount; private String useraccount;
private String age; private String age;
private String status; private String status;
private String online;
public String getOnline() {
return online;
}
public void setOnline(String online) {
this.online = online;
}
public String getJj() { public String getJj() {
return jj; return jj;

@ -16,6 +16,7 @@ import com.scwang.smart.refresh.layout.listener.DefaultRefreshFooterCreator;
import com.scwang.smart.refresh.layout.listener.DefaultRefreshHeaderCreator; import com.scwang.smart.refresh.layout.listener.DefaultRefreshHeaderCreator;
import com.tencent.mmkv.MMKV; import com.tencent.mmkv.MMKV;
import com.unionmed.unionmedtv.R; import com.unionmed.unionmedtv.R;
import com.unionmed.unionmedtv.activity.DoctorDetailActivity;
import com.unionmed.unionmedtv.activity.VideoCallActivity; import com.unionmed.unionmedtv.activity.VideoCallActivity;
import com.unionmed.unionmedtv.livedatas.LiveDataBus; import com.unionmed.unionmedtv.livedatas.LiveDataBus;
import com.unionmed.unionmedtv.network.RequestHandler; import com.unionmed.unionmedtv.network.RequestHandler;
@ -123,8 +124,10 @@ public class MyApplication extends Application {
*/ */
@Override @Override
public void onReceivedCall(RongCallSession callSession) { public void onReceivedCall(RongCallSession callSession) {
VideoCallActivity.currentStatus=VideoCallActivity.CallStatus.BeCall; if(DoctorDetailActivity.checkCamera(getApplicationContext())) {
VideoCallActivity.startActivity(getApplicationContext(),callSession.getInviterUserId(),"",VideoCallActivity.CALLED); VideoCallActivity.currentStatus = VideoCallActivity.CallStatus.BeCall;
VideoCallActivity.startActivity(getApplicationContext(), callSession.getInviterUserId(), "", VideoCallActivity.CALLED);
}
} }
/** /**

@ -9,7 +9,7 @@ public class RemoteBean{
private SurfaceView surfaceView; private SurfaceView surfaceView;
private String path;//用户头像 private String path;//用户头像
private String name;//用户名称 private String name;//用户名称
private View view; private View view;//装载surfaceview的父控件
public View getView() { public View getView() {
return view; return view;

@ -8,6 +8,7 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@ -47,6 +48,7 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener {
List<GetContractedDoctorApi.DoctorInfo.MemberBean> list = new ArrayList<>(); List<GetContractedDoctorApi.DoctorInfo.MemberBean> list = new ArrayList<>();
private ImageView iv_doctor; private ImageView iv_doctor;
private ImageView iv_hospital; private ImageView iv_hospital;
private TextView tv_title;
private int startNum = 0; private int startNum = 0;
private int endNum = 10; private int endNum = 10;
private int selectPostion = 0;//当前列表item点击位置 private int selectPostion = 0;//当前列表item点击位置
@ -62,6 +64,7 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener {
private void initView(View view) { private void initView(View view) {
recyclerView = view.findViewById(R.id.recyclerView); recyclerView = view.findViewById(R.id.recyclerView);
tv_title = view.findViewById(R.id.tv_title);
MyGridLayoutManager gridLayoutManager = new MyGridLayoutManager(getActivity(), 4); MyGridLayoutManager gridLayoutManager = new MyGridLayoutManager(getActivity(), 4);
recyclerView.setLayoutManager(gridLayoutManager); recyclerView.setLayoutManager(gridLayoutManager);
contractedDoctorAdapter = new ContractedDoctorAdapter(R.layout.item_type_doctor_layout, list, new OnChildClickListener() { contractedDoctorAdapter = new ContractedDoctorAdapter(R.layout.item_type_doctor_layout, list, new OnChildClickListener() {
@ -74,40 +77,12 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener {
} }
}); });
constraint_doctor=view.findViewById(R.id.constraint_doctor); constraint_doctor=view.findViewById(R.id.constraint_doctor);
View v=getActivity().findViewById(R.id.tv_my_doctor);
constraint_doctor.setNextFocusLeftId(R.id.constraint_doctor); constraint_doctor.setNextFocusLeftId(R.id.constraint_doctor);
constraint_doctor.setOnClickListener(this); constraint_doctor.setOnClickListener(this);
constraint_hospital=view.findViewById(R.id.constraint_hospital); constraint_hospital=view.findViewById(R.id.constraint_hospital);
constraint_hospital.setOnClickListener(this); constraint_hospital.setOnClickListener(this);
recyclerView.setAdapter(contractedDoctorAdapter); recyclerView.setAdapter(contractedDoctorAdapter);
recyclerView.addItemDecoration(new LinearSpacingItemDecoration(getActivity(), 24)); recyclerView.addItemDecoration(new LinearSpacingItemDecoration(getActivity(), 24));
// iv_doctor.setOnFocusChangeListener(new View.OnFocusChangeListener() {
// @Override
// public void onFocusChange(View v, boolean hasFocus) {
// if (hasFocus) {
// // 获取最后一个控件的位置
// Rect rect = new Rect();
// iv_doctor.getGlobalVisibleRect(rect);
//
// // 按下方向键时,如果焦点将离开最后一个控件,则阻止焦点失去
// iv_doctor.setOnKeyListener(new View.OnKeyListener() {
// @Override
// public boolean onKey(View v, int keyCode, KeyEvent event) {
// if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN && event.getAction() == KeyEvent.ACTION_DOWN) {
// View nextView = iv_doctor.focusSearch(View.FOCUS_DOWN);
// if (nextView == null) {
// return true;
// }
// }
// return false;
// }
// });
// } else {
// // 移除OnKeyListener,以便在此控件上正常使用
// iv_doctor.setOnKeyListener(null);
// }
// }
// });
} }
public void loadData() { public void loadData() {
@ -123,9 +98,11 @@ public class MyDoctorFragment extends Fragment implements View.OnClickListener {
if(stringHttpData.getData().isInnerRequestSucceed()){ if(stringHttpData.getData().isInnerRequestSucceed()){
List<GetContractedDoctorApi.DoctorInfo.MemberBean> doctorInfo = stringHttpData.getData().getData().getMember(); List<GetContractedDoctorApi.DoctorInfo.MemberBean> doctorInfo = stringHttpData.getData().getData().getMember();
if (doctorInfo.size()==0) { if (doctorInfo.size()==0) {
tv_title.setVisibility(View.GONE);
recyclerView.setVisibility(View.GONE); recyclerView.setVisibility(View.GONE);
return; return;
} }
tv_title.setVisibility(View.VISIBLE);
recyclerView.setVisibility(View.VISIBLE); recyclerView.setVisibility(View.VISIBLE);
list.addAll(doctorInfo); list.addAll(doctorInfo);
contractedDoctorAdapter.notifyDataSetChanged(); contractedDoctorAdapter.notifyDataSetChanged();

@ -32,10 +32,12 @@ import com.hjq.http.listener.OnHttpListener;
import com.hjq.permissions.OnPermissionCallback; import com.hjq.permissions.OnPermissionCallback;
import com.hjq.permissions.Permission; import com.hjq.permissions.Permission;
import com.hjq.permissions.XXPermissions; import com.hjq.permissions.XXPermissions;
import com.lxj.xpopup.XPopup;
import com.unionmed.unionmedtv.R; import com.unionmed.unionmedtv.R;
import com.unionmed.unionmedtv.activity.HomeActivity; import com.unionmed.unionmedtv.activity.HomeActivity;
import com.unionmed.unionmedtv.activity.MainActivity; import com.unionmed.unionmedtv.activity.MainActivity;
import com.unionmed.unionmedtv.api.LocationApi; import com.unionmed.unionmedtv.api.LocationApi;
import com.unionmed.unionmedtv.dialog.TipDialog;
import com.unionmed.unionmedtv.login.activity.fragment.LoginPhoneFragment; import com.unionmed.unionmedtv.login.activity.fragment.LoginPhoneFragment;
import com.unionmed.unionmedtv.network.ApiResponse; import com.unionmed.unionmedtv.network.ApiResponse;
import com.unionmed.unionmedtv.network.HttpData; import com.unionmed.unionmedtv.network.HttpData;
@ -111,14 +113,26 @@ public class LoginActivity extends FragmentActivity {
@Override @Override
public boolean onKeyDown(int keyCode, KeyEvent event) { public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) { if (keyCode == KeyEvent.KEYCODE_BACK) {
if (System.currentTimeMillis() - exitTime > 2000) { // if (System.currentTimeMillis() - exitTime > 2000) {
ToastUtils.showLong("在按一次退出程序"); // ToastUtils.showLong("在按一次退出程序");
exitTime=System.currentTimeMillis(); // exitTime=System.currentTimeMillis();
} else { // } else {
// finish();
// System.exit(0);
// }
new XPopup.Builder(LoginActivity.this).isRequestFocus(true).dismissOnBackPressed(false).asCustom(new TipDialog(LoginActivity.this, "是否退出APP", new TipDialog.DialogClick() {
@Override
public void cancel() {
}
@Override
public void confirm() {
finish(); finish();
System.exit(0); System.exit(0);
} }
return false; })).show();
return true;
} }
return super.onKeyDown(keyCode, event); return super.onKeyDown(keyCode, event);
} }

@ -3,22 +3,10 @@
<item> <item>
<shape android:shape="rectangle"> <shape android:shape="rectangle">
<stroke <stroke
android:width="1dp" android:width="2dp"
android:color="#93E8FF" /> android:color="#93E8FF" />
<corners android:radius="10dp" /> <corners android:radius="10dp" />
</shape> </shape>
</item> </item>
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp">
<shape android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="#93E8FF" />
<corners android:radius="10dp" />
</shape>
</item>
</layer-list> </layer-list>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#93E8FF" />
<corners android:radius="20dp" />
</shape>
</item>
</layer-list>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_focus_20" android:state_focused="true"/>
</selector>

@ -46,7 +46,7 @@
android:layout_marginLeft="93dp" android:layout_marginLeft="93dp"
android:layout_marginTop="35dp" android:layout_marginTop="35dp"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:src="@color/design_default_color_background" /> android:src="@mipmap/icon_doctor_detail_default" />
<TextView <TextView
android:id="@+id/tv_name" android:id="@+id/tv_name"
@ -144,6 +144,7 @@
<LinearLayout <LinearLayout
android:id="@+id/lin_msg" android:id="@+id/lin_msg"
android:visibility="gone"
android:layout_width="139dp" android:layout_width="139dp"
android:layout_height="45dp" android:layout_height="45dp"
android:layout_below="@+id/tv_doctor_brief" android:layout_below="@+id/tv_doctor_brief"

@ -48,7 +48,7 @@
android:clickable="true" android:clickable="true"
android:focusable="true" android:focusable="true"
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
android:src="@color/design_default_color_background" /> android:src="@mipmap/icon_hospital_detail_default" />
<TextView <TextView
android:id="@+id/tv_name" android:id="@+id/tv_name"
@ -57,12 +57,13 @@
android:layout_alignTop="@+id/iv_image" android:layout_alignTop="@+id/iv_image"
android:layout_marginLeft="24dp" android:layout_marginLeft="24dp"
android:layout_toRightOf="@+id/iv_image" android:layout_toRightOf="@+id/iv_image"
android:text="福建省医科大学附属协和医院" tools:text="福建省医科大学附属协和医院"
android:textColor="@color/white_f1f1f1" android:textColor="@color/white_f1f1f1"
android:textSize="28sp" /> android:textSize="28sp" />
<TextView <TextView
android:id="@+id/tv_grade" android:id="@+id/tv_grade"
android:visibility="gone"
android:layout_width="76dp" android:layout_width="76dp"
android:layout_height="26dp" android:layout_height="26dp"
android:layout_alignTop="@+id/iv_image" android:layout_alignTop="@+id/iv_image"
@ -71,7 +72,7 @@
android:layout_toRightOf="@+id/tv_name" android:layout_toRightOf="@+id/tv_name"
android:background="@drawable/bg_btn_grade_radius_5" android:background="@drawable/bg_btn_grade_radius_5"
android:gravity="center" android:gravity="center"
android:text="三级甲等" tools:text="三级甲等"
android:textColor="@color/white_f1f1f1" /> android:textColor="@color/white_f1f1f1" />
<TextView <TextView
@ -81,7 +82,7 @@
android:layout_below="@+id/tv_name" android:layout_below="@+id/tv_name"
android:layout_alignLeft="@+id/tv_name" android:layout_alignLeft="@+id/tv_name"
android:layout_marginTop="33dp" android:layout_marginTop="33dp"
android:text="联系方式:0591-8336 2319" tools:text="联系方式:0591-8336 2319"
android:textColor="@color/grey_c0cbd1" android:textColor="@color/grey_c0cbd1"
android:textSize="16sp" /> android:textSize="16sp" />
@ -92,7 +93,7 @@
android:layout_below="@+id/tv_contact_type" android:layout_below="@+id/tv_contact_type"
android:layout_alignLeft="@+id/tv_name" android:layout_alignLeft="@+id/tv_name"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:text="医院地址:福建省福州市新权路29号" tools:text="医院地址:福建省福州市新权路29号"
android:textColor="@color/grey_c0cbd1" android:textColor="@color/grey_c0cbd1"
android:textSize="16sp" /> android:textSize="16sp" />
@ -104,7 +105,7 @@
android:layout_alignLeft="@+id/tv_name" android:layout_alignLeft="@+id/tv_name"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginRight="80dp" android:layout_marginRight="80dp"
android:text="医院简介:教协和医院(又名Wilis F. Pierce Memorial Hospital),为创建于1860年的福州圣教医院与创建于1877年的福州马高爱医院合并而成,为八闽现代医学的发" tools:text="医院简介:教协和医院(又名Wilis F. Pierce Memorial Hospital),为创建于1860年的福州圣教医院与创建于1877年的福州马高爱医院合并而成,为八闽现代医学的发"
android:textColor="@color/grey_c0cbd1" android:textColor="@color/grey_c0cbd1"
android:textSize="16sp" /> android:textSize="16sp" />
</RelativeLayout> </RelativeLayout>

@ -69,11 +69,16 @@
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"> app:layout_constraintRight_toRightOf="parent">
<LinearLayout <LinearLayout
android:visibility="gone"
android:id="@+id/lin_turn_off_camera" android:id="@+id/lin_turn_off_camera"
android:visibility="gone"
android:padding="@dimen/dp_10"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="84dp" android:layout_marginRight="84dp"
android:background="@drawable/bg_focus_selector_10"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
@ -81,10 +86,6 @@
android:id="@+id/iv_camera" android:id="@+id/iv_camera"
android:layout_width="80dp" android:layout_width="80dp"
android:layout_height="80dp" android:layout_height="80dp"
android:background="@drawable/bg_focus_selector_10"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:src="@mipmap/icon_camera_on" android:src="@mipmap/icon_camera_on"
/> />
@ -99,19 +100,20 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/lin_put_through" android:id="@+id/lin_put_through"
android:padding="@dimen/dp_10"
android:visibility="invisible" android:visibility="invisible"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_focus_selector_10"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_marginRight="84dp" android:layout_marginRight="84dp"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<ImageView <ImageView
android:id="@+id/iv_put_through" android:id="@+id/iv_put_through"
android:background="@drawable/bg_focus_selector_10"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="80dp" android:layout_width="80dp"
android:layout_height="80dp" android:layout_height="80dp"
android:src="@mipmap/icon_put_through" /> android:src="@mipmap/icon_put_through" />
@ -127,9 +129,14 @@
<LinearLayout <LinearLayout
android:id="@+id/lin_hang_up" android:id="@+id/lin_hang_up"
android:padding="@dimen/dp_10"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginRight="84dp" android:layout_marginRight="84dp"
android:background="@drawable/bg_focus_selector_10"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
@ -137,10 +144,6 @@
android:id="@+id/iv_hang_up" android:id="@+id/iv_hang_up"
android:layout_width="80dp" android:layout_width="80dp"
android:layout_height="80dp" android:layout_height="80dp"
android:background="@drawable/bg_focus_selector_10"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:src="@mipmap/icon_hang_up" /> android:src="@mipmap/icon_hang_up" />
<TextView <TextView
@ -154,21 +157,22 @@
<LinearLayout <LinearLayout
android:id="@+id/lin_mute" android:id="@+id/lin_mute"
android:padding="@dimen/dp_10"
android:visibility="invisible" android:visibility="invisible"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:gravity="center"
android:background="@drawable/bg_focus_selector_10"
android:clickable="true"
android:focusable="true"
android:nextFocusRight="@+id/lin_mute"
android:focusableInTouchMode="true"
android:orientation="vertical"> android:orientation="vertical">
<ImageView <ImageView
android:id="@+id/iv_mute" android:id="@+id/iv_mute"
android:layout_width="80dp" android:layout_width="80dp"
android:layout_height="80dp" android:layout_height="80dp"
android:background="@drawable/bg_focus_selector_10"
android:clickable="true"
android:focusable="true"
android:nextFocusRight="@+id/iv_mute"
android:focusableInTouchMode="true"
android:src="@mipmap/icon_mute_on" android:src="@mipmap/icon_mute_on"
/> />
@ -190,6 +194,8 @@
android:id="@+id/recyclerView" android:id="@+id/recyclerView"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintRight_toRightOf="parent" app:layout_constraintRight_toRightOf="parent"
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_width="200dp" android:layout_width="200dp"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

@ -24,10 +24,11 @@
android:id="@+id/constraint_doctor" android:id="@+id/constraint_doctor"
style="@style/FocusStyle" style="@style/FocusStyle"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="190dp" android:layout_height="185dp"
android:layout_margin="10dp" android:layout_margin="10dp"
android:nextFocusLeft="@null" android:nextFocusLeft="@null"
android:layout_weight="1"> android:layout_weight="1"
>
<ImageView <ImageView
android:id="@+id/iv_doctor" android:id="@+id/iv_doctor"
@ -55,7 +56,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/bg_focus_selector_10" android:background="@drawable/bg_focus_selector_20"
android:duplicateParentState="true" android:duplicateParentState="true"
android:scaleType="fitXY" android:scaleType="fitXY"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
@ -68,7 +69,7 @@
android:id="@+id/constraint_hospital" android:id="@+id/constraint_hospital"
style="@style/FocusStyle" style="@style/FocusStyle"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="190dp" android:layout_height="185dp"
android:layout_margin="10dp" android:layout_margin="10dp"
android:nextFocusRight="@null" android:nextFocusRight="@null"
android:layout_weight="1"> android:layout_weight="1">
@ -99,7 +100,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/bg_focus_selector_10" android:background="@drawable/bg_focus_selector_20"
android:duplicateParentState="true" android:duplicateParentState="true"
android:scaleType="fitXY" android:scaleType="fitXY"
app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintLeft_toLeftOf="parent"
@ -112,6 +113,8 @@
</LinearLayout> </LinearLayout>
<TextView <TextView
android:id="@+id/tv_title"
android:visibility="gone"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="30dp" android:layout_marginTop="30dp"

@ -5,6 +5,8 @@
android:id="@+id/constraintlayout" android:id="@+id/constraintlayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/FocusStyle"
android:descendantFocusability="afterDescendants"
> >
<ImageView <ImageView

@ -5,6 +5,8 @@
android:id="@+id/constraintlayout" android:id="@+id/constraintlayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/FocusStyle"
android:descendantFocusability="afterDescendants"
> >
<ImageView <ImageView

@ -4,6 +4,8 @@
android:id="@+id/constraintlayout" android:id="@+id/constraintlayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/FocusStyle"
android:descendantFocusability="afterDescendants"
> >
<ImageView <ImageView

@ -4,6 +4,8 @@
android:id="@+id/constraintlayout" android:id="@+id/constraintlayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:descendantFocusability="afterDescendants"
style="@style/FocusStyle"
> >
<ImageView <ImageView

@ -4,6 +4,8 @@
android:id="@+id/constraintlayout" android:id="@+id/constraintlayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/FocusStyle"
android:descendantFocusability="afterDescendants"
> >
<ImageView <ImageView

@ -4,6 +4,8 @@
android:id="@+id/constraintlayout" android:id="@+id/constraintlayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/FocusStyle"
android:descendantFocusability="afterDescendants"
> >
<ImageView <ImageView

@ -12,6 +12,7 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.unionmed.unionmedtv.widgets.CornerTextView <com.unionmed.unionmedtv.widgets.CornerTextView
android:id="@+id/tv_distance" android:id="@+id/tv_distance"
android:visibility="gone"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"

@ -25,7 +25,7 @@
android:layout_marginTop="26dp" android:layout_marginTop="26dp"
android:layout_marginBottom="23dp" android:layout_marginBottom="23dp"
android:layout_marginRight="18dp" android:layout_marginRight="18dp"
android:src="@drawable/icon_default_doctor" /> android:src="@mipmap/icon_hospital_detail_default" />
<TextView <TextView
android:id="@+id/tv_hospital_name" android:id="@+id/tv_hospital_name"
@ -42,6 +42,7 @@
<TextView <TextView
android:id="@+id/tv_grade" android:id="@+id/tv_grade"
android:visibility="gone"
android:layout_width="80dp" android:layout_width="80dp"
android:layout_height="28dp" android:layout_height="28dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Loading…
Cancel
Save