Android 如何使用滚动视图将按钮固定在顶部?
如何将按钮固定在屏幕顶部,将导航栏固定在屏幕底部?我已经完成了Android 如何使用滚动视图将按钮固定在顶部?,android,android-layout,android-studio,android-fragments,Android,Android Layout,Android Studio,Android Fragments,如何将按钮固定在屏幕顶部,将导航栏固定在屏幕底部?我已经完成了android:layout\u alignParentTop=“true”和android:layout\u alignParentBottom=“true”> 这并没有帮助,因为当我向上或向下滚动时,它们仍然无法跟随 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/ap
android:layout\u alignParentTop=“true”
和android:layout\u alignParentBottom=“true”>
这并没有帮助,因为当我向上或向下滚动时,它们仍然无法跟随
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#393939"
tools:context=".Main2Activity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="1000dp">
<RelativeLayout
android:id="@+id/buttons"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:gravity="center"
android:layout_gravity="center">
<Button
android:id="@+id/up_coming"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:background="#333333"
android:text="Upcoming" />
<Button
android:id="@+id/trending_button"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="0dp"
android:background="#333333"
android:text="Trending" />
<Button
android:id="@+id/now_showing"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#6E6E6E"
android:text="Now Showing" />
</RelativeLayout>
<ImageView
android:id="@+id/imageView5"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="20dp"
android:layout_marginTop="69dp"
app:srcCompat="@drawable/fpp3k01riyq01" />
<TextView
android:id="@+id/textView4"
android:layout_width="142dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/imageView5"
android:layout_marginEnd="39dp"
android:text="Incredibles 2"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView2"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="194dp"
android:layout_marginStart="29dp"
android:text="Avengers: Infinity War"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/imageView6"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/imageView5"
app:srcCompat="@drawable/deadpool2" />
<TextView
android:id="@+id/textView5"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="449dp"
android:layout_toStartOf="@+id/imageView5"
android:text="Deadpool 2"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView3"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/imageView5"
android:layout_marginBottom="452dp"
android:text="Rampage"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/imageView5"
android:layout_marginTop="321dp"
app:srcCompat="@drawable/rampage_thumbnail" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/main_nav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_gravity="bottom"
android:layout_marginBottom="135dp"
app:itemBackground="@drawable/nav_bar_gradient"
app:itemIconTint="@color/nav_item_colors"
app:itemTextColor="@color/nav_item_colors"
app:menu="@menu/nav_items"></android.support.design.widget.BottomNavigationView>
<FrameLayout
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_alignBottom="@id/main_nav">
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.design.widget.BottomNavigationView>
</FrameLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
您是否尝试从滚动视图中移除外部按钮
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#393939"
tools:context=".Main2Activity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="1000dp">
<Button
android:id="@+id/up_coming"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:background="#333333"
android:text="Upcoming" />
<RelativeLayout
android:id="@+id/buttons"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:gravity="center"
android:layout_gravity="center">
<Button
android:id="@+id/trending_button"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="0dp"
android:background="#333333"
android:text="Trending" />
<Button
android:id="@+id/now_showing"
android:layout_width="140dp"
android:layout_height="44dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#6E6E6E"
android:text="Now Showing" />
</RelativeLayout>
<ImageView
android:id="@+id/imageView5"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_marginEnd="20dp"
android:layout_marginTop="69dp"
app:srcCompat="@drawable/fpp3k01riyq01" />
<TextView
android:id="@+id/textView4"
android:layout_width="142dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_below="@+id/imageView5"
android:layout_marginEnd="39dp"
android:text="Incredibles 2"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView2"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginBottom="194dp"
android:layout_marginStart="29dp"
android:text="Avengers: Infinity War"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/imageView6"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentStart="true"
android:layout_alignTop="@+id/imageView5"
app:srcCompat="@drawable/deadpool2" />
<TextView
android:id="@+id/textView5"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="449dp"
android:layout_toStartOf="@+id/imageView5"
android:text="Deadpool 2"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/textView3"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/imageView5"
android:layout_marginBottom="452dp"
android:text="Rampage"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/imageView3"
android:layout_width="184dp"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/imageView5"
android:layout_marginTop="321dp"
app:srcCompat="@drawable/rampage_thumbnail" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/main_nav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_gravity="bottom"
android:layout_marginBottom="135dp"
app:itemBackground="@drawable/nav_bar_gradient"
app:itemIconTint="@color/nav_item_colors"
app:itemTextColor="@color/nav_item_colors"
app:menu="@menu/nav_items"></android.support.design.widget.BottomNavigationView>
<FrameLayout
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_alignBottom="@id/main_nav">
<android.support.design.widget.BottomNavigationView
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.design.widget.BottomNavigationView>
</FrameLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
我建议将来使用ContrainLayout,而不是相对布局,请参见我的评论:
修改布局,使组件脱离ScrollView,在ScrollView中只添加您希望的可滚动内容 通常类似于内部根线布局(垂直)
- 然后添加带有包裹高度的HeaderView
- 然后添加权重为1的ScrollView(这样就占用了布局上的所有剩余空间)
- 然后添加具有“包裹高度”的底部视图
通过这种方式,Heder和Bottom是固定的,您可以在滚动条内滚动内容。修改布局,使组件不在滚动条视图中,在滚动条视图中,只添加您希望按钮不在滚动条视图范围内的可滚动内容