只需设置下Activity的style即可。
Dialog形式:
android:theme="@android:style/Theme.Dialog"半透明的:
android:theme="@android:style/Theme.Translucent"
当LinearLayout的方向为vertical时,其layout_gravity属性设置为横向才有效。比如:left,right,center_horizontal等。
当LinearLayout的方向为horizontal时,其layout_gravity属性设置为横向才有效。比如:top,bottom,center_vertical等。
1)TranslateAnimation移动后,会回到原位置。解决此问题,只需设置:
anim.setFillAfter(true);
2)位置移动后,触摸事件的响应还停留在原控件的位置。解决此问题,需要在动画完成后移动控件的位置:
anim.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { try { viewTop.clearAnimation(); RelativeLayout.LayoutParams params = new android.widget.RelativeLayout.LayoutParams(viewTop.getLayoutParams()); params.setMargins(0, 0, 0, viewTop.getHeight()); viewTop.setLayoutParams(params); } catch (Exception e) { e.printStackTrace(); } } });注意:要移动的布局必须是一个RelativeLayout,我尝试用LinearLayout时报错~
this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);