如何在屏幕上强制项目到固定位置?

时间:2019-05-02 12:14:39

标签: xamarin.android visual-studio-2017 android-linearlayout

我如何以滚动方式即使在滚动时也不会移动项目?我正在使用LinearLayout。

2 个答案:

答案 0 :(得分:3)

如果您愿意使用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>

屏幕截图

enter image description here

答案 1 :(得分:1)

解决方案:

使用FloatingActionButton即可。

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

<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" />

在活动中,您可以自定义click事件。

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

这是一个gif:

screen