android - 如何在Android中顺利展开 View ?

标签 android view layoutparams

我在将 320*50 View 展开为全屏时遇到了问题。

如果我直接展开它,它可以工作,但 Action 非常突然,我认为这不是一个好的用户体验。所以我先隐藏 View ,然后展开它,两秒钟后,再次显示 View 。

TextView.setVisibility(VIEW.INVISIBLE);
ViewGroup.LayoutParams lp = TextView.getLayoutParams();
lp.width = ViewGroup.LayoutParams.FILL_PARENT;
lp.height = ViewGroup.LayoutParams.FILL_PARENT;

//after two seconds
handler.postDelay(new Show(),2000);

class Show implements Runnable{
   @Override
public void run(){
       TextView.setVisibility(VIEW.VISIBLE);
   }
}

所以我留了两秒钟让应用程序展开 View 。两秒钟后, View 将再次显示。我希望 View 在显示时扩展到全屏。但实际上,它没有。 View 在显示后执行展开操作,而不是在它隐藏的两秒内执行。

最佳答案

  1. android:animateLayoutChanges="true" 添加到您的 ViewGroup
  2. 使用 setVisibility() 控制您的目标 View 的可见性。
  3. 如果你targetView下面还有其他View,添加android:animateLayoutChanges="true" 到你的outer ViewGroupsetVisibility() 之前的代码:

    LayoutTransition layoutTransition = rootLinearLayout.getLayoutTransition();
    layoutTransition.enableTransitionType(LayoutTransition.CHANGING);
    

关于android - 如何在Android中顺利展开 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13251835/

相关文章:

android - 加载 View 的布局参数被忽略

android - 使用 .xml 文件以编程方式生成相同的布局

android - 围绕其中心旋转自定义图像

cocoa - 将 View 添加到现有窗口并调整大小

ruby-on-rails - 如何在 RoR 中向用户显示现有的 xml 文件

android - 使用 WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH 获取所有 MotionEvents

java - 如何更改 ActionBar Tab 底部边框和选定的选项卡背景?

Android 检测到不成功的电话并稍后再试

java - 保存单选组 onSavedInstance

android - View 的 destroyDrawingCache() 是昂贵的操作吗?