0

我試圖添加列表會話標題並在後面添加隱藏按鈕。將按鈕發送到佈局背面

請幫助我將刪除按鈕和編輯按鈕發送到會話頭後面。它將在滑動後查看。

我也嘗試bringToFront和sendToBack按鈕哪些力量的工作。

要設置Z順序,我需要將Project min SDK設置爲21,我不想這樣做。所以我不能使用Z順序。

RelativeLayout SupRelLyoVar = new RelativeLayout(KxtVar); 
RelativeLayout.LayoutParams NamLysHtrRloRulVaj = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, LyHtrHytVal); 
SupRelLyoVar.setLayoutParams(NamLysHtrRloRulVaj); 

Button DelBtnVav = new Button(KxtVar); 
DelBtnVav.setId(View.generateViewId()); 
RelativeLayout.LayoutParams DelBtnRulVaj = new RelativeLayout.LayoutParams(LyHtrHytVal, LyHtrHytVal); 
DelBtnRulVaj.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 
DelBtnVav.setLayoutParams(DelBtnRulVaj); 
SupRelLyoVar.addView(DelBtnVav); 

Button EdtBtnVav = new Button(KxtVar); 
RelativeLayout.LayoutParams EdtBtnRulVaj = new RelativeLayout.LayoutParams(LyHtrHytVal, LyHtrHytVal); 
EdtBtnRulVaj.addRule(RelativeLayout.LEFT_OF, DelBtnVav.getId()); 
EdtBtnVav.setLayoutParams(EdtBtnRulVaj); 
SupRelLyoVar.addView(EdtBtnVav); 

LinearLayout LnrLyoVar = new LinearLayout(KxtVar); 
LnrLyoVar.setBackgroundColor(SsnHtrBgdClr); 
RelativeLayout.LayoutParams LnrLyoRulVaj = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, LyHtrHytVal); 
LnrLyoRulVaj.addRule(RelativeLayout.CENTER_IN_PARENT); 

TextView TxtVyuVav = new TextView(KxtVar); 
LinearLayout.LayoutParams LysHtrTxtVyuRulVaj = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
TxtVyuVav.setLayoutParams(LysHtrTxtVyuRulVaj); 
LnrLyoVar.addView(TxtVyuVav); 

SupRelLyoVar.addView(LnrLyoVar, LnrLyoRulVaj); 

enter image description here

回答

0

我得到了解決辦法,並要留言
這是所有的人我不希望像我這樣的掙扎。

| * |設置OnTouchListener:

LnrLyoVar.setOnTouchListener(WkaMovLitRitVyuKlkVaf); 

| * |以下使用外功能:

View.OnTouchListener WkaMovLitRitVyuKlkVaf = new View.OnTouchListener() 
{ 
    float WkaStrVyuXcoVar, WkaStrTchXcoVar, WkaStpTchXcoVar; 
    final int MovDstVar = LloHytVal * 2; 
    RelativeLayout.LayoutParams EdtBtnRulVaj, DelBtnRulVaj; 

    @Override 
    public boolean onTouch(View VyuPsgVar, MotionEvent MsnEvtPsgVar) 
    { 
     switch (MsnEvtPsgVar.getActionMasked()) 
     { 
      case MotionEvent.ACTION_DOWN: 
       WkaStrTchXcoVar = MsnEvtPsgVar.getRawX(); 
       WkaStrVyuXcoVar = (int) VyuPsgVar.getX(); 
       break; 

      case MotionEvent.ACTION_MOVE: 
       WkaStpTchXcoVar = MsnEvtPsgVar.getRawX(); 
       float XcoDstVar = Math.abs(WkaStpTchXcoVar - WkaStrTchXcoVar); 

       if (XcoDstVar < MovDstVar) 
       { 
        EdtBtnRulVaj = (RelativeLayout.LayoutParams) NamEdtBtnVav.getLayoutParams(); 
        DelBtnRulVaj = (RelativeLayout.LayoutParams) NamDelBtnVav.getLayoutParams(); 
        int SetBtnWytVar; 
        if (WkaStrVyuXcoVar == 0) 
        { 
         VyuPsgVar.animate() 
           .translationX(-XcoDstVar) 
           .setDuration(0) 
           .start(); 
         SetBtnWytVar = (int) XcoDstVar/2; 
        } 
        else 
        { 
         VyuPsgVar.animate() 
           .x(-MovDstVar + XcoDstVar) 
           .setDuration(0) 
           .start(); 
         SetBtnWytVar = (int) (LloHytVal - XcoDstVar/2); 
        } 
        DelBtnRulVaj.width = SetBtnWytVar; 
        EdtBtnRulVaj.width = SetBtnWytVar; 
        NamEdtBtnVav.setLayoutParams(EdtBtnRulVaj); 
        NamDelBtnVav.setLayoutParams(DelBtnRulVaj); 
       } 
       break; 

      case MotionEvent.ACTION_UP : 
      case MotionEvent.ACTION_CANCEL: 
       EdtBtnRulVaj = (RelativeLayout.LayoutParams) NamEdtBtnVav.getLayoutParams(); 
       DelBtnRulVaj = (RelativeLayout.LayoutParams) NamDelBtnVav.getLayoutParams(); 
       int SetBtnWytVar = 0; 
       if (WkaStrVyuXcoVar == 0 && WkaStpTchXcoVar < WkaStrTchXcoVar) 
       { 
        VyuPsgVar.animate() 
          .x(-MovDstVar); 
        SetBtnWytVar = LloHytVal; 
       } 
       else if (WkaStrVyuXcoVar == -MovDstVar) 
       { 
        VyuPsgVar.animate() 
          .x(0); 
        SetBtnWytVar = 0; 
       } 
       DelBtnRulVaj.width = SetBtnWytVar; 
       EdtBtnRulVaj.width = SetBtnWytVar; 
       NamEdtBtnVav.setLayoutParams(EdtBtnRulVaj); 
       NamDelBtnVav.setLayoutParams(DelBtnRulVaj); 
       break; 
     } 
     return true; 
    } 
};