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