这种效果是怎么实现
1、点击右上角的拍照,弹出一个抽屉,当我点击屏幕的其它地方(不点抽屉,触摸抽屉时,抽屉不消失)时,抽屉消失,
2、那一种情况是像图中的那样,点击右上角的拍照,弹出一个抽屉,抽屉以外的触摸事件无效!
android SlidingDrawer?
[解决办法]
你可以把抽屉和不透明的区域看成一个整体的控件
你点击响应出来之后 只是用一个动画 让这个窗口出来。
[解决办法]
这是一个dialog吧,通过setOutsideTouchable(true/false)来控制点击外面dialog是否消失
[解决办法]
public class CusDialog extends Dialog
{
private Window window = null;
public CusDialog(Context context)
{
super(context);
}
public void showDialog( int layoutResID, int x , int y, int rId)
{
setContentView(layoutResID);
windowDeploy(x, y, rId);
setCanceledOnTouchOutside(true); // 点击空白处,Dialog消失
show();
}
public void windowDeploy(int x, int y, int rId){
window = getWindow();
window.setWindowAnimations(rId);
//window.setBackgroundDrawableResource(R.color.vifrification);
WindowManager.LayoutParams wl = window.getAttributes();
wl.x = x;
wl.y = y;
window.setAttributes(wl);
}
}
android:fromYDelta="300"
android:toXDelta="0"
android:toYDelta="0" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="300"
android:fillAfter="false"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.15"
android:toYScale="0.15" />
<translate
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="300"
android:fromXDelta="0"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="300" />
</set>
private void showDialog()
{
CusDialog cusDialog = new CusDialog(this);
cusDialog.setTitle("MessageDialog");
int styleId = com.gtx.R.style.mystyle2; // 生成后的Style ID
cusDialog.showDialog(自己的Dialog布局, 0, 0, styleId);
}