добавление динамического представления с помощью WindowManager.addView

У меня есть код на ICS для планшетов. Я хочу динамически добавить Imageview к фрагменту. Фрагмент уже содержит список предпочтений. Код для динамического добавления представления выглядит следующим образом. Я кодирую эту функцию перетаскивания. Эта часть кода взята из файла TouchInterceptor.java музыкального приложения Android.

mWindowParams = new WindowManager.LayoutParams();
mWindowParams.gravity = Gravity.TOP ;
mWindowParams.x = 0;
mWindowParams.y = y
mWindowParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
mWindowParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
mWindowParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
    | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
    | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
mWindowParams.format = PixelFormat.TRANSLUCENT;
mWindowParams.windowAnimations = 0;

ImageView v = new ImageView(mContext);
int backGroundColor = mContext.getResources().getColor(R.color.bg_background);
v.setBackgroundColor(backGroundColor);
v.setImageBitmap(bm);

mWindowManager = (WindowManager)mContext.getSystemService("window");
mWindowManager.addView(v, mWindowParams);

Я указываю координату x параметра windowlayout как 0. Eventthen, когда вид отображается, он вместо отображения с левой стороны фрагмента (правая панель), вид отображается из середины правой панели и охватывает на правую панель. Что я делаю неправильно? Что нужно сделать, чтобы это исправить?

10
задан frogatto 10 March 2014 в 15:24
поделиться