MapChallengeActivity.java 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. package com.xunao.effectdemo.activity;
  2. import static com.blankj.utilcode.util.ScreenUtils.*;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.view.ViewGroup;
  8. import android.widget.Button;
  9. import android.widget.HorizontalScrollView;
  10. import android.widget.ImageView;
  11. import android.widget.LinearLayout;
  12. import android.widget.RelativeLayout;
  13. import com.bumptech.glide.Glide;
  14. import com.bumptech.glide.load.DecodeFormat;
  15. import com.xunao.effectdemo.R;
  16. import com.xunao.effectdemo.bean.MapBean;
  17. import com.xunao.effectdemo.bean.MapBean.ResultBean.ListBean.StepsBean;
  18. import com.xunao.effectdemo.net.ApiHttpClient;
  19. import com.xunao.effectdemo.net.ApiUrl;
  20. import com.xunao.effectdemo.net.CSMHttpCallback;
  21. import java.util.HashMap;
  22. import java.util.List;
  23. import java.util.Map;
  24. /**
  25. * 地图闯关
  26. */
  27. public class MapChallengeActivity extends Activity {
  28. private static final String TAG = "MapChallengeActivity";
  29. Button btnMap1, btnMap2, btnMap3, btnMap4, btnMap5, btnMap6;
  30. Intent intent;
  31. private String name = "13004166772";
  32. private String pwd = "123890";
  33. private String token = "MWIzYmVmOTdiYzI5Y2UwM2ZiOThlMTI3YjRmYWJlNzA=";
  34. private String member_id = "61128";
  35. private String maps_id = "185";
  36. private String student_id = "180721";
  37. private List<String> bkg_images;
  38. private LinearLayout llMapBg;
  39. private RelativeLayout rlMapBg;
  40. private HorizontalScrollView scrollView;
  41. @Override
  42. protected void onCreate(Bundle savedInstanceState) {
  43. super.onCreate(savedInstanceState);
  44. setContentView(R.layout.activity_map_challenge);
  45. initView();
  46. initData();
  47. }
  48. void initData(){
  49. getMap();
  50. }
  51. private float scale = 0f;
  52. void initView(){
  53. scale = (float) (getAppScreenHeight ()/1024.00);
  54. llMapBg = findViewById(R.id.ll_map_bg);
  55. rlMapBg = findViewById(R.id.rl_map_bg);
  56. btnMap1 = findViewById(R.id.btn_map_1);
  57. btnMap1.setOnClickListener(v -> {
  58. intent = new Intent(MapChallengeActivity.this, VideoPlayActivity.class);
  59. startActivity(intent);
  60. });
  61. btnMap2 = findViewById(R.id.btn_map_2);
  62. btnMap2.setOnClickListener(v -> {
  63. intent = new Intent(MapChallengeActivity.this, AudioActivity.class);
  64. startActivity(intent);
  65. });
  66. btnMap3 = findViewById(R.id.btn_map_3);
  67. btnMap3.setOnClickListener(v -> {
  68. intent = new Intent(MapChallengeActivity.this, VideoDemandActivity.class);
  69. startActivity(intent);
  70. });
  71. btnMap4 = findViewById(R.id.btn_map_4);
  72. btnMap4.setOnClickListener(v -> {
  73. intent = new Intent(MapChallengeActivity.this, DragActivity.class);
  74. startActivity(intent);
  75. });
  76. btnMap5 = findViewById(R.id.btn_map_5);
  77. btnMap5.setOnClickListener(v->{
  78. intent = new Intent(MapChallengeActivity.this, NewSongLyricActivity.class);
  79. startActivity(intent);
  80. });
  81. btnMap6 = findViewById(R.id.btn_map_6);
  82. btnMap6.setOnClickListener(v -> {
  83. intent = new Intent(MapChallengeActivity.this, RolePlayActivity.class);
  84. startActivity(intent);
  85. });
  86. }
  87. void login(){
  88. Map<String, String> params = new HashMap<>();
  89. params.put("ptcmobile",name);
  90. params.put("ptcpswd",pwd);
  91. ApiHttpClient.get(ApiUrl.login,params, new CSMHttpCallback() {
  92. @Override
  93. protected void onSuccess(String jsonStr) {
  94. }
  95. @Override
  96. protected void onFail(String msg) {
  97. }
  98. });
  99. }
  100. private void addBigBg(String url){
  101. ImageView child = new ImageView(this);
  102. // Glide.with(this).asBitmap().load(url).into(new BitmapImageViewTarget(child){
  103. // @Override
  104. // public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
  105. // child.setLayoutParams(new LinearLayout.LayoutParams(getScreenHeight()* resource.getWidth()/resource.getHeight(),getScreenHeight()));
  106. // child.setImageBitmap(resource);
  107. // }
  108. // });
  109. Glide.with(this)
  110. .load(url)
  111. .format(DecodeFormat.PREFER_RGB_565)
  112. .into(child);
  113. child.setScaleType(ImageView.ScaleType.FIT_XY);
  114. child.setLayoutParams(new ViewGroup.LayoutParams(getAppScreenHeight (),getAppScreenHeight ()));
  115. llMapBg.addView(child);
  116. Log.i(TAG, getScreenHeight() + "---" + getScreenWidth());
  117. }
  118. private void addSmallBg(String url, double x, double y){
  119. ImageView child = new ImageView(this);
  120. // Glide.with(this).asBitmap().load(url).into(new BitmapImageViewTarget(child){
  121. // @Override
  122. // public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
  123. // child.setLayoutParams(new LinearLayout.LayoutParams(getScreenHeight()* resource.getWidth()/resource.getHeight(),getScreenHeight()));
  124. // child.setImageBitmap(resource);
  125. // }
  126. // });
  127. Glide.with(this)
  128. .load(url)
  129. .format(DecodeFormat.PREFER_RGB_565)
  130. .into(child);
  131. child.setScaleType(ImageView.ScaleType.FIT_XY);
  132. RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams((int) (scale*376), (int) (scale*306));
  133. layoutParams.leftMargin = (int)(x * getAppScreenHeight ()*bkg_images.size());
  134. layoutParams.topMargin = (int)(y * getAppScreenHeight ());
  135. child.setLayoutParams(layoutParams);
  136. rlMapBg.addView(child);
  137. }
  138. void getMap(){
  139. Map<String, String> params = new HashMap<>();
  140. params.put("member_id",member_id);
  141. params.put("token",token);
  142. params.put("student_id",student_id);
  143. params.put("maps_id",maps_id);
  144. ApiHttpClient.get(ApiUrl.getMap,params, new CSMHttpCallback() {
  145. @Override
  146. protected void onSuccess(String jsonStr) {
  147. MapBean mapBean = MapBean.parse(jsonStr);
  148. bkg_images = mapBean.getResult().getList().getBkg_images();
  149. for(String url : bkg_images){
  150. addBigBg(url);
  151. }
  152. List<StepsBean> stepsBeans = mapBean.getResult().getList().getSteps();
  153. for(StepsBean stepsBean : stepsBeans){
  154. addSmallBg(stepsBean.getImage(), stepsBean.getCoordinate().getX(), stepsBean.getCoordinate().getY());
  155. }
  156. }
  157. @Override
  158. protected void onFail(String msg) {
  159. }
  160. });
  161. }
  162. }