2017-11-05 9 views
0

이 프로젝트는 수평 스크롤 뷰에 6 가지 유형의 이미지를 추가해야 각 이미지에 대화 조각이 표시됩니다. App demo video 가로 스크롤보기에서 이미지의 위치를 ​​찾고 아래로 슬라이드하면보기를 삭제하는 방법은 무엇입니까?슬라이드 다운 제스처를 사용하여 가로 스크롤보기에서 항목을 삭제하는 방법은 무엇입니까?

final String[] AddCustomitems = {"Blink single message", "Blink double message", "Message", "Scroll", "Split", "Temp"}; //list of items that can be added in layout 
int[] customviewsDrawable = new int[]{R.drawable.custom_blink, R.drawable.custom_blink_double, R.drawable.custom_message, R.drawable.custom_scroll, R.drawable.custom_split_double, R.drawable.temp}; 


public void CustomAnimationList(final Activity activity) { 

    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    //set the title for alert dialog 
    builder.setTitle("Dot Matrix Add view"); 
    //set items to alert dialog. i.e. our array , which will be shown as list view in alert dialog 
    builder.setItems(AddCustomitems, new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int item) { 
      // setting the button text to the selected item from the list 
      AddItem(item); 
     } 
    }); 

    //Creating CANCEL button in alert dialog, to dismiss the dialog box when nothing is selected 
    builder.setCancelable(false) 
      .setNegativeButton("CANCEL", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int id) { 
        //When clicked on CANCEL button the dalog will be dismissed 
        dialog.dismiss(); 
       } 
      }); 
    // Creating alert dialog 
    AlertDialog alert = builder.create(); 
    //Showing alert dialog 
    alert.show(); 
} 

    void AddItem(final int itemNum) { 
       if (countItem < 9) { 
        final float scale = getResources().getDisplayMetrics().density; 
        int dpWidthInPx = (int) (175 * scale); //rescalling views 
        int dpHeightInPx = (int) (250 * scale); //rescalling views 
        final LinearLayout sv = (LinearLayout) findViewById(R.id.horizontalLayout); 
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(dpWidthInPx, dpHeightInPx); 
        layoutParams.setMargins(10, 0, 0, 10); //adding margin 
        final ImageView iv = new ImageView(this); 
        iv.setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View v) { 
          alertView(itemNum); //this will send itemNum to switch case for corresponding dialog fragment. 
         } 
        }); 
        iv.setLayoutParams(layoutParams); 
        iv.setBackgroundResource(customviewsDrawable[itemNum]); 
        sv.addView(iv); 
        countItem++; 
       } else { 
        alertItem(); //alert message if items are more then 8 
       } 
       System.out.println("count items :" + countItem); 
      } 
+0

은'GestureDetector' – pskink

+0

는 아직 구현되지와 코드를 게시 할 수 있습니다. 나는 내가 추가하고있는 견해의 입장을 얻을 수 없다. 견해의 입장을 나타내는 방법은 무엇입니까? –

+0

'View # getTop' (왼쪽/오른쪽/아래) – pskink

답변

0

또한 가로 스크롤 뷰에 추가 된 몇 가지 기능

1) 사용자 정의 여러 대화 조각을 추가 한 ItemTouchHelper 군 수업을 사용하여이 작업을 시행하고있다.

2) 드래그 앤 항목은 다음 더있는 경우 항목을 이동 또는 아래로

3

까지 슬쩍하거나 항목을 삭제) 버튼을

4

을 눌렀을 때) 경고 대화 상자 항목의 순서를 나열하는 기능을 드롭 8 요소.

나는 시도하는 사람을 위해 GitHub의에 코드를 저지른. https://github.com/parmarravi/HorizontalRecyclerView]