在窗口管理器中膨胀类时出错
Posted
技术标签:
【中文标题】在窗口管理器中膨胀类时出错【英文标题】:Error while inflating class in window manager 【发布时间】:2019-02-08 05:52:53 【问题描述】:代码
public class FloatingWindow extends Service
WindowManager wm;
LinearLayout ll;
LayoutInflater li;
@Override
public IBinder onBind(Intent intent)
// TODO Auto-generated method stub
return null;
@Override
public void onCreate()
// TODO Auto-generated method stub
super.onCreate();
View myview;
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 = new WindowManager.LayoutParams(
500, 1000, WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.CENTER | Gravity.CENTER;
myview = li.inflate(R.layout.service_floating_window, null); // your layout here
wm.addView(myview, params);
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:background="@color/black"
android:layout_
xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:background="@drawable/allusers"
android:layout_below="@id/actionBar"
android:layout_
android:layout_>
<RelativeLayout
android:id="@+id/top"
android:padding="2dp"
android:paddingStart="20dp"
android:paddingEnd="10dp"
android:background="@color/black"
android:layout_
android:layout_>
<ImageButton
android:background="@null"
android:src="@drawable/close"
android:layout_alignParentRight="true"
android:layout_
android:layout_ />
<LinearLayout
android:paddingVertical="5dp"
android:layout_
android:layout_
android:orientation="vertical">
<TextView
android:text="Name"
android:layout_centerVertical="true"
android:id="@+id/name"
android:textColor="@color/white"
android:layout_
android:layout_
android:textSize="18dp"/>
<TextView
android:text="Online"
android:layout_centerVertical="true"
android:id="@+id/online"
android:textColor="@color/white"
android:layout_
android:layout_
android:textSize="12dp"/>
</LinearLayout>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:layout_above="@+id/linearlayout"
android:scrollbars="vertical"
android:id="@+id/message_list"
android:padding="2dp"
android:background="@drawable/allusers"
android:layout_below="@+id/top"
android:layout_
android:layout_></android.support.v7.widget.RecyclerView>
<RelativeLayout
android:background="@null"
android:padding="1dp"
android:layout_alignParentBottom="true"
android:id="@+id/linearlayout"
android:layout_
android:layout_>
<ImageButton
android:scaleType="center"
android:src="@drawable/add_image"
android:id="@+id/add_image"
android:layout_
android:background="@null"
android:layout_
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true" />
<View
android:layout_marginVertical="5dp"
android:layout_toRightOf="@id/add_image"
android:id="@+id/midleft"
android:layout_
android:layout_
android:background="@color/white"/>
<EditText
android:paddingVertical="5dp"
android:paddingHorizontal="10dp"
android:textColorHint="@color/white"
android:hint="Write a message..."
android:id="@+id/input_message"
android:textColor="@color/white"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_toEndOf="@+id/add_image"
android:layout_toStartOf="@+id/send_message" />
<View
android:layout_marginVertical="5dp"
android:layout_toLeftOf="@id/send_message"
android:id="@+id/midright"
android:layout_
android:layout_
android:background="@color/white"/>
<ImageButton
android:scaleType="center"
android:background="@null"
android:src="@drawable/send_button"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:id="@+id/send_message"
android:layout_
android:layout_
android:text="Send" />
<View
android:layout_marginHorizontal="10dp"
android:layout_alignParentBottom="true"
android:id="@+id/bottomline"
android:layout_
android:layout_
android:background="@color/white"/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
每当我尝试调出浮动窗口时,我都会遇到此异常......我也是窗口管理器的新手,所以不确定是什么导致了问题......我学到的一件事是 xml 文件不能有一个 appbar.. .但是我的没有但仍然显示错误...有人可以帮帮我吗...
【问题讨论】:
如果您查看错误,这不是您的 Windows 管理器的问题,而是您尝试运行的服务的问题。在第一行中写到无法创建服务:)。首先确保您的服务已成功创建,然后继续。 如果我尝试膨胀另一个不包含应用栏的活动,它工作正常@Umair 所以问题不在于创建它 你测试的是什么安卓系统? 【参考方案1】:好吧,问题就在这里
android:layout_
我不得不“评论”每一行以查看问题出在哪里,因为其他任何地方都没有问题
我将高度设置为 50dp,现在可以正常工作了
【讨论】:
以上是关于在窗口管理器中膨胀类时出错的主要内容,如果未能解决你的问题,请参考以下文章