【发布时间】:2016-11-27 12:47:19
【问题描述】:
如何从CardView 的支持库中添加浮动操作按钮,以便当您滚动浏览ScrollView 时,该按钮会随着卡片一起上升?
我的应用
滚动前
滚动后
>按钮应该和卡片一起出现
我想解决这个问题
布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
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:fitsSystemWindows="true"
>
<ScrollView
android:id="@+id/nested_scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white_vk_background_color">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_8"
android:orientation="vertical"
android:padding="@dimen/spacing_16">
<android.support.v7.widget.CardView
android:id="@+id/behavior_card_view"
style="@style/RateCardView"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="@dimen/spacing_2"
app:cardElevation="@dimen/spacing_8">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="@dimen/spacing_16"
android:orientation="vertical"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="@dimen/spacing_8">
<TextView
android:id="@+id/description_rate_usd_text_view"
style="@style/AppTextView.RateTextView"
android:text="@string/description_currency_text_view_usd"/>
<TextView
android:id="@+id/rate_usd_text_view"
style="@style/AppTextView.RateTextView"
android:layout_centerHorizontal="true"
android:layout_toRightOf="@id/description_rate_usd_text_view"
tools:text="63.99"
/>
<TextView
android:id="@+id/rate_difference_usd_text_view"
style="@style/AppTextView.DifferenceTextView"
android:layout_toRightOf="@id/rate_usd_text_view"
tools:text="+0.44"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingBottom="@dimen/spacing_8">
<TextView
android:id="@+id/description_rate_eur_text_view"
style="@style/AppTextView.RateTextView"
android:text="@string/description_currency_text_view_eur"/>
<TextView
android:id="@+id/rate_eur_text_view"
style="@style/AppTextView.RateTextView"
android:layout_centerHorizontal="true"
android:layout_toRightOf="@id/description_rate_eur_text_view"
tools:text="71.99"
/>
<TextView
android:id="@+id/rate_difference_eur_text_view"
style="@style/AppTextView.DifferenceTextView"
android:layout_toRightOf="@id/rate_eur_text_view"
tools:text="+0.15"/>
</RelativeLayout>
<TextView
android:id="@+id/rate_update_time_text_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|start"
android:layout_marginBottom="@dimen/spacing_8"
android:layout_marginLeft="@dimen/spacing_16"
android:layout_marginTop="@dimen/spacing_16"
android:gravity="center"
android:textSize="@dimen/density_font_size_text_date"
tools:text="Date: 15.07.2016"
/>
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:id="@+id/converter_card_view"
style="@style/RateCardView"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="@dimen/spacing_2"
app:cardElevation="@dimen/spacing_8">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/spacing_16">
<com.rengwuxian.materialedittext.MaterialEditText
android:id="@+id/converter_ruble_edit_text"
style="@style/RateEditText"
android:hint="@string/description_currency_ruble"
app:met_baseColor="@android:color/black"
app:met_bottomTextSize="@dimen/density_font_size_text_converter"
app:met_errorColor="@color/red_light"
app:met_floatingLabel="normal"
app:met_floatingLabelAlwaysShown="true"
app:met_floatingLabelTextSize="@dimen/density_font_size_text_converter"
app:met_helperText=""
app:met_primaryColor="@color/red_light"
app:met_textColorHint="@android:color/transparent"/>
<com.rengwuxian.materialedittext.MaterialEditText
android:id="@+id/converter_dollar_edit_text"
style="@style/RateEditText"
android:hint="@string/description_currency_dollar"
app:met_baseColor="@android:color/black"
app:met_bottomTextSize="@dimen/density_font_size_text_converter"
app:met_errorColor="@color/red_light"
app:met_floatingLabel="normal"
app:met_floatingLabelAlwaysShown="true"
app:met_floatingLabelTextSize="@dimen/density_font_size_text_converter"
app:met_helperText=""
app:met_primaryColor="@color/red_light"
app:met_textColorHint="@android:color/transparent"/>
<com.rengwuxian.materialedittext.MaterialEditText
android:id="@+id/converter_euro_edit_text"
style="@style/RateEditText"
android:hint="@string/description_currency_euro"
app:met_baseColor="@android:color/black"
app:met_bottomTextSize="@dimen/density_font_size_text_converter"
app:met_errorColor="@color/red_light"
app:met_floatingLabel="normal"
app:met_floatingLabelAlwaysShown="true"
app:met_floatingLabelTextSize="@dimen/density_font_size_text_converter"
app:met_helperText=""
app:met_primaryColor="@color/red_light"
app:met_textColorHint="@android:color/transparent"/>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
</ScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/update_floating_action_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/density_spacing_size_floating_action_button"
android:layout_marginRight="@dimen/float_action_button_spacing_8"
android:src="@drawable/ic_cached_white_24dp"
app:fabSize="mini"
app:layout_anchor="@id/behavior_card_view"
app:pressedTranslationZ="6dp"
app:layout_anchorGravity="end|right|center"
/>
</android.support.design.widget.CoordinatorLayout>
【问题讨论】:
-
我添加了我的问题的截图
-
好的,但也请发布您的布局(和相关代码)。
-
使用 NestedScrollView 代替 ScrollView 并添加
app:layout_behavior="@string/appbar_scrolling_view_behavior"到它。希望这对你有帮助 -
那不行,屏幕不滚动
标签: java android android-scrollview android-cardview floating-action-button