Un botón flotante de vista personalizado Lib tiene una buena escalabilidad, pero el diseño flotante se puede combinar con otros diseños
Se usa vibración, por lo que se requiere permiso de vibración. Este permiso se agregó al manifiesto, pero por encima de 6.0, debe agregarlo manualmente
<uses-permission android:name="android.permission.VIBRATE" />
Instrucciones
Diseño de raíz en archivo de diseño de diseño
<?xml version="1.0" encoding="utf-8"?>
<com.isoftstone.floatlibrary.widget.FloatViewLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_float"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.isoftstone.floatlibrary.widget.FloatViewLayout>
En segundo lugar, se necesita el diseño del botón flotante. La razón por la que está escrito en el formulario de diseño es que la expansión es buena y se puede realizar cualquier estilo.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="@dimen/floating_icon_size"
android:layout_height="@dimen/floating_icon_size"
android:src="@mipmap/float_btn" />
</LinearLayout>
Solo es necesario llamar a métodos relacionados en Activity
public class MainActivity extends AppCompatActivity {
private FloatViewLayout floatViewLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
floatViewLayout = (FloatViewLayout) findViewById(R.id.layout_float);
floatViewLayout.setmFloatView(new FloatViewImpl() {
@Override
public View createFloatView() {
View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.layout_float_view, null);
return view;
}
@Override
public int setFloatViewSideOffset() {
return super.setFloatViewSideOffset();
}
@Override
public boolean setEnableBackground() {
return false;
}
});
}
}
FloatViewImpl es una clase estática que ha implementado los métodos setFloatViewSideOffset () y setEnableBackground () y valores predeterminados dados, que puede modificar usted mismo.
Método createFloatView (): utilizado principalmente para crear el botón flotante Ver
método setFloatViewSideOffset (): utilizado para establecer el desplazamiento del botón flotante y el borde, utilizado principalmente para sangrar un determinado píxel
método setEnableBackground (): utilizado para establecer si se debe mantener la apariencia deslizante El color de fondo y darse cuenta de la desaparición del botón flotante.
Bienvenido a mi cuenta pública de WeChat: