Android 容器展开动画: 实现向右滑动露出更多内容 - 示例代码
以下是一个使用Android容器实现向右慢慢展开露出更多内容的示例代码:\n\n首先,在XML布局文件中添加一个容器,例如LinearLayout:\n\nxml\n<LinearLayout\n android:id="@+id/container"\n android:layout_width="match_parent"\n android:layout_height="wrap_content"\n android:background="@android:color/white"\n android:orientation="horizontal"\n android:padding="16dp">\n \n <!-- 添加其他内容,例如文本、图片等 -->\n \n</LinearLayout>\n\n\n然后,在Java代码中使用动画来实现展开效果:\n\njava\nimport android.animation.ObjectAnimator;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.widget.LinearLayout;\n\npublic class MainActivity extends AppCompatActivity {\n\n private LinearLayout container;\n private boolean isExpanded = false;\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n\n container = findViewById(R.id.container);\n\n container.setOnClickListener(new View.OnClickListener() {\n @Override\n public void onClick(View v) {\n if (isExpanded) {\n collapseContainer();\n } else {\n expandContainer();\n }\n }\n });\n }\n\n private void expandContainer() {\n ObjectAnimator animator = ObjectAnimator.ofInt(container, "right", container.getRight(), container.getRight() + 200);\n animator.setDuration(300);\n animator.start();\n isExpanded = true;\n }\n\n private void collapseContainer() {\n ObjectAnimator animator = ObjectAnimator.ofInt(container, "right", container.getRight(), container.getRight() - 200);\n animator.setDuration(300);\n animator.start();\n isExpanded = false;\n }\n}\n\n\n在上述示例中,通过设置ObjectAnimator的"right"属性实现容器向右展开或收缩。点击容器时,根据当前展开状态调用相应的方法来展开或收缩容器。您可以根据实际需求自定义动画效果和展开/收缩的距离。
原文地址: https://www.cveoy.top/t/topic/pS3m 著作权归作者所有。请勿转载和采集!