如何强制一个项目进入屏幕上的固定位置?

How to force an item into a fixed position on the screen?

如何将项目放置在屏幕上,即使我滚动它也不会移动?我正在使用 LinearLayout。

解法:

使用 FloatingActionButton 即可。

当您创建一个新的简单视图 Xamarin.Android 项目时,activity_main.axml 中有 FloatingActionButton 示例:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center|center"
    android:layout_margin="@dimen/fab_margin"
    app:srcCompat="@android:drawable/ic_dialog_email" />

并且在activity中,您可以自定义click事件。

FloatingActionButton fab = FindViewById<FloatingActionButton>(Resource.Id.fab);
fab.Click += FabOnClick;

这是一张动图:

:

如果您愿意用 RelativeLayout 包装 LinearLayout,这会起作用并且非常灵活,因为您可以固定大多数任何类型的视图(例如 Button)。

布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <ScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:fillViewport="false">
      <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <TextView
          android:id="@+id/txtScrollingText"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:textAppearance="?android:attr/textAppearanceLarge" />
      </LinearLayout>
    </ScrollView>
  <Button
    android:layout_width="600dp"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="This Button Is Fixed"/>
</RelativeLayout>

截图