首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 展開/收起動畫實現:文字描述點擊滑出效果

     編輯:程式設計綜合問答

效果描述

默認顯示標題,點擊按鈕/區域,詳細描述向下滑出展開;再次點擊向上收起。類似設置項目、FAQ 列表、卡片展開。

方案一:View 隱藏/顯示 + 動畫(簡單)


// 布局

    
    


// 代碼
View content = findViewById(R.id.tv_content);
title.setOnClickListener(v -> {
    if (content.getVisibility() == View.GONE) {
        content.setVisibility(View.VISIBLE);
        // 可選:滑動動畫
        content.setAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_down));
    } else {
        content.setAnimation(AnimationUtils.loadAnimation(this, R.anim.slide_up));
        content.postDelayed(() -> content.setVisibility(View.GONE), 300);
    }
});

res/anim/slide_down.xml



    
    

方案二:ExpandableListView(列表場景)

分組為標題,子項為詳情,自帶展開/收起指示器,適配器實現簡單。

方案三:ConstraintLayout + MotionLayout (現代、高性能)




    
    
    

參考資源

CSDN 經典教程:Android 滑動展開收起動畫完整實現

選型建議

場景推薦方案
單個卡片/項目方案一 或 三
列表多項獨立展開方案二 或 RecyclerView + 方案一
複雜交互/嵌套動畫方案三 (MotionLayout)

核心思想:**狀態驅動 UI**,用 Visibility + 動畫 或 MotionLayout 狀態機實現流暢展開收起。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved