Можно раздуть XML-макет в службе? (Android)

Я хочу раздуть XML-макет в службе. Как ты делаешь это? Я пытался использовать диспетчер и диспетчер окон, но я думаю, что он не работает. Любая тактика по этому поводу? Благодарю.

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:id="@+id/main" > <LinearLayout android:id="@+id/top" android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1" android:orientation="horizontal" > <FrameLayout android:id="@+id/topLeft" android:layout_width="match_parent" android:layout_height="match_parent" android:tag="topLeft" android:layout_weight="1.0" android:background="#ff3d38"></FrameLayout> <FrameLayout android:id="@+id/topRight" android:layout_width="match_parent" android:layout_height="match_parent" android:tag="topRight" android:layout_weight="1.0" android:background="#fff839"></FrameLayout> </LinearLayout> <LinearLayout android:layout_height="match_parent" android:layout_width="match_parent" android:layout_weight="1" android:orientation="horizontal" android:id="@+id/bottom" > <FrameLayout android:id="@+id/bottomLeft" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1.0" android:background="#1e22ff"> </FrameLayout> <FrameLayout android:id="@+id/bottomRight" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1.0" android:background="#32ff1f"></FrameLayout> 

Это мой код обслуживания для отображаемого xml.

 package com.toksis.pvscreen; import android.app.Service; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.PixelFormat; import android.os.IBinder; import android.preference.PreferenceManager; import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.Button; import android.widget.FrameLayout; import android.widget.LinearLayout; public class DragDropButtonMainService extends Service { private LinearLayout main; private LinearLayout firstLayer; private LinearLayout secondLayer; private FrameLayout vTopLeft; private FrameLayout vTopRight; private FrameLayout vBottomLeft; private FrameLayout vBottomRight; private Button mainButton; private ViewGroup mView; private LayoutInflater inflater; public IBinder onBind(Intent intent) { return null; } public void onCreate() { super.onCreate(); createDragDropLayout(); } void createDragDropLayout(){ mainButton = new Button(this); mainButton.setText("Main"); WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_PHONE, WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT ); WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mView = (ViewGroup) inflater.inflate(R.layout.dragdroplayout, null); vTopLeft = (FrameLayout) mView.findViewById(R.id.topLeft); vTopRight = (FrameLayout) mView.findViewById(R.id.topRight); vBottomLeft = (FrameLayout) mView.findViewById(R.id.bottomLeft); vBottomRight= (FrameLayout) mView.findViewById(R.id.bottomRight); firstLayer = (LinearLayout) mView.findViewById(R.id.top); secondLayer = (LinearLayout) mView.findViewById(R.id.bottom); // main = (LinearLayout) mView.findViewById(R.id.main); // main.addView(firstLayer); // main.addView(secondLayer); // firstLayer.addView(vTopLeft); // firstLayer.addView(vTopRight); // secondLayer.addView(vBottomLeft); // secondLayer.addView(vBottomRight); // wm.addView(mainButton, params); wm.addView(mView,params); Log.d("tok", "add mview"); } } 

Solutions Collecting From Web of "Можно раздуть XML-макет в службе? (Android)"

Можно поместить графику в службу, код которой:

 li = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); wm = (WindowManager) getSystemService(WINDOW_SERVICE); WindowManager.LayoutParams params = new WindowManager.LayoutParams( //WindowManager.LayoutParams.TYPE_INPUT_METHOD | WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,// | WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, PixelFormat.TRANSLUCENT); params.gravity = Gravity.RIGHT | Gravity.TOP; myview = li.inflate(R.layout.traslucent, null); wm.addView(myview, params);