SplitPopupItem.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package de.tudarmstadt.informatik.hostage.ui2.popup;
  2. import android.content.Context;
  3. import android.view.MotionEvent;
  4. import android.view.View;
  5. import android.widget.TextView;
  6. import de.tudarmstadt.informatik.hostage.R;
  7. /**
  8. * Created by Julien on 16.02.14.
  9. */
  10. public class SplitPopupItem extends AbstractPopupItem {
  11. public final static String LEFT_TITLE = "LEFT_TITLE";
  12. public final static String RIGHT_TITLE = "RIGHT_TITLE";
  13. public final static String LEFT_SUBTITLE = "LEFT_SUBTITLE";
  14. public final static String RIGHT_SUBTITLE = "RIGHT_SUBTITLE";
  15. public boolean wasRightTouch;
  16. private Context context;
  17. private View left_container;
  18. private View right_container;
  19. public SplitPopupItem(Context context){
  20. super(context);
  21. this.context = context;
  22. }
  23. public int getLayoutId(){
  24. return R.layout.split_popup_item;
  25. }
  26. public void configureItemView(View view){
  27. String leftTitle = (String) this.data.get(LEFT_TITLE);
  28. String rightTitle = (String) this.data.get(RIGHT_TITLE);
  29. String leftSubtitle = (String) this.data.get(LEFT_SUBTITLE);
  30. String rightSubtitle = (String) this.data.get(RIGHT_SUBTITLE);
  31. TextView leftTitleView = (TextView)view.findViewById(R.id.left_title_text_view);
  32. leftTitleView.setText(leftTitle);
  33. TextView leftSubtitleView = (TextView)view.findViewById(R.id.left_subtitle_text_view);
  34. if (leftSubtitle != null){
  35. leftSubtitleView.setText(leftSubtitle);
  36. } else {
  37. leftSubtitleView.setText("-");
  38. }
  39. TextView rightTitleView = (TextView)view.findViewById(R.id.right_title_text_view);
  40. rightTitleView.setText(rightTitle);
  41. TextView rightSubtilteView = (TextView)view.findViewById(R.id.right_subtitle_text_view);
  42. if (rightSubtitle != null){
  43. rightSubtilteView.setText(rightSubtitle);
  44. } else {
  45. rightSubtilteView.setText("-");
  46. }
  47. }
  48. public Object onClickedResult(MotionEvent event){
  49. this.wasRightTouch = isRightTouch(event);
  50. return this;
  51. }
  52. private boolean isRightTouch(MotionEvent event){
  53. return event.getX() > this.getItemView().getX() + (this.getItemView().getWidth() / 2);
  54. }
  55. private View getLeftContainer(){
  56. if(left_container == null){
  57. left_container = this.getItemView().findViewById(R.id.popup_left_container);
  58. }
  59. return left_container;
  60. }
  61. private View getRightContainer(){
  62. if(right_container == null){
  63. right_container = this.getItemView().findViewById(R.id.popup_right_container);
  64. }
  65. return right_container;
  66. }
  67. public void onItemDown(MotionEvent event){
  68. int blue_color = context.getResources().getColor(android.R.color.holo_blue_light);
  69. int trans_color = context.getResources().getColor(android.R.color.transparent);
  70. if(!isRightTouch(event)){
  71. getLeftContainer().setBackgroundColor(blue_color);
  72. getRightContainer().setBackgroundColor(trans_color);
  73. } else {
  74. getLeftContainer().setBackgroundColor(trans_color);
  75. getRightContainer().setBackgroundColor(blue_color);
  76. }
  77. }
  78. public void onItemUp(MotionEvent event){
  79. int trans_color = context.getResources().getColor(android.R.color.transparent);
  80. getLeftContainer().setBackgroundColor(trans_color);
  81. getRightContainer().setBackgroundColor(trans_color);
  82. }
  83. }