相信大家,都知晓360的悬浮窗口,非常潇洒。。。
如图:
现在,我也实现了具有吸附效果的悬浮窗。有图有真相...
看图: 吸附屏幕两侧的效果
废话少说,看代码。代码中,有详细注释...
布局文件:floating.xml(悬浮窗的布局)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/rekoo"
/>
<LinearLayout
android:id="@+id/floats"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/settings_bg_right"
android:layout_marginTop="2dp"
android:visibility="gone"
>
<LinearLayout
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="2dp"
>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/settings_bbs_pressed" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="论坛"
android:textColor="@android:color/white"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/settings_bind_phone_pressed" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="电话"
android:textColor="@android:color/white" />
</LinearLayout>
<LinearLayout
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/settings_service_pressed" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭"
android:textColor="@android:color/white" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".MainActivity"
android:orientation="horizontal"
>
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/rekoo"
/>
<LinearLayout
android:id="@+id/floats"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/settings_bg_right"
android:layout_marginTop="2dp"
android:visibility="gone"
>
<LinearLayout
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="2dp"
>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/settings_bbs_pressed" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="论坛"
android:textColor="@android:color/white"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/settings_bind_phone_pressed" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="电话"
android:textColor="@android:color/white" />
</LinearLayout>
<LinearLayout
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/settings_service_pressed" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭"
android:textColor="@android:color/white" />
</LinearLayout>
</LinearLayout>
</LinearLayout>