解决RecyclerView 高度设置wrap_content 无作用的bug

本文介绍了一个RecyclerView兼容包的bug,并提供了解决方案。建议将RecyclerView及其他兼容包升级到23.2.0版本及以上来修复该问题。

这是RecyclerView兼容包的bug,23.2.0后官方已经修复了。

所以直接在gradle里设置用23.2.0及以上的RecyclerView:


    compile 'com.android.support:recyclerview-v7:23.2.0'
  • 1
  • 2

PS:

如果修改后构建时报了其他奇怪的错,可以试试把兼容包也升级一下:


    compile 'com.android.support:cardview-v7:23.2.0'
    compile 'com.android.support:recyclerview-v7:23.2.0'
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.android.support:design:23.2.0'
<androidx.coordinatorlayout.widget.CoordinatorLayout android:id="@+id/coordinator" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/mp_background_f5f7fa" app:layout_constraintBottom_toBottomOf="parent"> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/cl_device_dialog" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingBottom="@dimen/tpds_all_dp_8" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/ll_loading" android:layout_width="match_parent" android:layout_height="@dimen/tpds_all_dp_130" android:background="@color/tpds_white" android:gravity="center_horizontal" android:orientation="vertical" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <ImageView android:id="@+id/iv_loading" android:layout_width="@dimen/tpds_all_dp_26" android:layout_height="@dimen/tpds_all_dp_26" android:layout_marginBottom="@dimen/tpds_all_dp_16" android:src="@mipmap/tpds_ic_loading_common" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/tv_loading" style="@style/Widget.TPDesign.TextView.Secondary.Subtitle1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/tpds_all_dp_8" android:gravity="center_horizontal" android:text="@string/mp_heatmap_import_device" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_loading" /> </androidx.constraintlayout.widget.ConstraintLayout> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/ll_end" android:layout_width="match_parent" android:layout_height="@dimen/tpds_all_dp_130" android:background="@color/tpds_white" android:gravity="center_horizontal" android:orientation="vertical" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <ImageView android:id="@+id/iv_end" android:layout_width="@dimen/tpds_all_dp_26" android:layout_height="@dimen/tpds_all_dp_26" android:layout_marginBottom="@dimen/tpds_all_dp_16" android:src="@drawable/png_finish_scatter_flowers" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/tv_end" style="@style/Widget.TPDesign.TextView.Secondary.Subtitle1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/tpds_all_dp_16" android:layout_marginTop="@dimen/tpds_all_dp_8" android:gravity="center_horizontal" android:text="@string/mp_heatmap_all_device_input_floor_plan" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_end" /> </androidx.constraintlayout.widget.ConstraintLayout> <ImageView android:id="@+id/iv_fold" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/tpds_all_dp_8" android:src="@drawable/svg_fold_icon" android:visibility="gone" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/tv_device_num" style="@style/Widget.TPDesign.TextView.Secondary.Subtitle1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/tpds_all_dp_16" android:layout_marginTop="@dimen/tpds_all_dp_8" android:visibility="gone" android:gravity="start" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/iv_fold" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv_device" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="@dimen/tpds_all_dp_8" android:layout_marginTop="@dimen/tpds_all_dp_8" android:layout_marginBottom="@dimen/tpds_all_dp_16" android:visibility="gone" app:layout_constrainedHeight="true" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_device_num" app:layout_constraintBottom_toBottomOf="parent"/> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout> private fun showDevicePlaceDialog() { mBottomSheetBehavior = BottomSheetBehavior.from(viewBinding.clDeviceDialog) // 初始时设置 BottomSheet 为折叠状态,并设置高度为peekHeight mBottomSheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED mBottomSheetBehavior.peekHeight = DisplayUtils.dp2px(this, DEVICE_PLACE_DIALOG_MIN_HEIGHT) // showLoading() } // 设置高度 val height = (resources.displayMetrics.heightPixels * DIALOG_MAX_HEIGHT_MULTIPLE).toInt() viewBinding.clDeviceDialog.maxHeight = height // 设置 BottomSheetBehavior 的状态回调 mBottomSheetBehavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() { override fun onStateChanged(bottomSheet: View, newState: Int) { when (newState) { BottomSheetBehavior.STATE_COLLAPSED -> { // 当 BottomSheet 处于折叠状态时,新为横向滚动 viewBinding.rvDevice.layoutManager = LinearLayoutManager( this@DevicePlacementActivity, LinearLayoutManager.HORIZONTAL, false ) mAdapter?.setExpanded(false) } BottomSheetBehavior.STATE_EXPANDED -> { viewBinding.flDevice.setSmallBottomSheetOffsetY(viewBinding.coordinator.y) // 当 BottomSheet 处于展开状态时 ,则新为纵向滚动 viewBinding.rvDevice.layoutManager = LinearLayoutManager(this@DevicePlacementActivity) mAdapter?.setExpanded(true) } BottomSheetBehavior.STATE_DRAGGING, BottomSheetBehavior.STATE_HALF_EXPANDED, BottomSheetBehavior.STATE_HIDDEN, BottomSheetBehavior.STATE_SETTLING -> Unit } } override fun onSlide(bottomSheet: View, slideOffset: Float) = Unit }) // mBottomSheetBehavior.maxHeight = height // TODO 高度bug,目前采用的方法是直接在xml中设置recyclerView高度 viewBinding.rvDevice.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false) } 为什么我这样设置时,当面板展开后,recyclerView高度把上面的iv_fold都给顶到外面去了
08-08
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android=“http://schemas.android.com/apk/res/android” xmlns:app=“http://schemas.android.com/apk/res-auto” android:layout_width=“match_parent” android:layout_height=“match_parent”> <include android:id="@+id/toolbar" layout="@layout/mp_toolbar" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/setting_item_list" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="@dimen/tpds_list_section_title_margin_top" android:scrollbars="none" android:visibility="gone" app:layout_constraintTop_toBottomOf="@id/toolbar" /> <TextView android:id="@+id/usage_alert_tips_tv" style="@style/Widget.TPDesign.TextView.Secondary.Body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/tpds_list_item_spacing_horizontal" android:layout_marginTop="@dimen/tpds_all_dp_10" android:layout_marginEnd="@dimen/tpds_list_item_spacing_horizontal" android:text="@string/data_setting_sms_alert_tips" app:layout_constraintTop_toBottomOf="@id/setting_item_list" /> <com.tplink.design.card.TPConstraintCardView android:id="@+id/card_threshold" style="?attr/materialCardViewStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/tpds_all_dp_16" app:layout_constraintTop_toBottomOf="@+id/usage_alert_tips_tv"> <com.tplink.design.list.TPTwoLineItemView android:id="@+id/line2_data_percentage" android:layout_width="match_parent" android:layout_height="wrap_content" app:itemContent="@string/common_percent_float" app:itemDivider="false" app:itemEndIcon="@drawable/mp_svg_arrow_end" app:itemTitle="@string/advanced_data_setting_usage_alert_data_percentage" /> </com.tplink.design.card.TPConstraintCardView> <com.tplink.design.card.TPConstraintCardView android:id="@+id/card_phone" style="?attr/materialCardViewStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/tpds_divider_block_thickness" app:contentPaddingBottom="@dimen/tpds_all_dp_10" app:layout_constraintTop_toBottomOf="@+id/card_threshold"> <com.tplink.design.text.TPTextField android:id="@+id/tf_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/advanced_data_setting_usage_alert_phone_number" android:imeOptions="actionDone" android:inputType="phone" android:maxLength="21" app:endIconMode="clear_text" app:errorHideAuto="true" app:helperText="@string/advanced_data_setting_usage_alert_phone_tips_mercusys" /> </com.tplink.design.card.TPConstraintCardView> <Button android:id="@+id/send_message_btn" style="@style/Widget.TPDesign.Button.OutlinedButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/tpds_all_dp_44" android:text="@string/advanced_data_setting_usage_sms_send_test" app:layout_constraintBottom_toBottomOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> bug分析 为什么tf_phone输入框聚焦后,send_message_btn会被顶起来。可以不修改xml布局 修复这个问题吗
10-17
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <include android:id="@+id/toolbar" layout="@layout/mp_toolbar" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/setting_item_list" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="@dimen/tpds_list_section_title_margin_top" android:scrollbars="none" android:visibility="gone" app:layout_constraintTop_toBottomOf="@id/toolbar" /> <TextView android:id="@+id/usage_alert_tips_tv" style="@style/Widget.TPDesign.TextView.Secondary.Body1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/tpds_list_item_spacing_horizontal" android:layout_marginTop="@dimen/tpds_all_dp_10" android:layout_marginEnd="@dimen/tpds_list_item_spacing_horizontal" android:text="@string/data_setting_sms_alert_tips" app:layout_constraintTop_toBottomOf="@id/setting_item_list" /> <com.tplink.design.card.TPConstraintCardView android:id="@+id/card_threshold" style="?attr/materialCardViewStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/tpds_all_dp_16" app:layout_constraintTop_toBottomOf="@+id/usage_alert_tips_tv"> <com.tplink.design.list.TPTwoLineItemView android:id="@+id/line2_data_percentage" android:layout_width="match_parent" android:layout_height="wrap_content" app:itemContent="@string/common_percent_float" app:itemDivider="false" app:itemEndIcon="@drawable/mp_svg_arrow_end" app:itemTitle="@string/advanced_data_setting_usage_alert_data_percentage" /> </com.tplink.design.card.TPConstraintCardView> <com.tplink.design.card.TPConstraintCardView android:id="@+id/card_phone" style="?attr/materialCardViewStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/tpds_divider_block_thickness" app:contentPaddingBottom="@dimen/tpds_all_dp_10" app:layout_constraintTop_toBottomOf="@+id/card_threshold"> <com.tplink.design.text.TPTextField android:id="@+id/tf_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/advanced_data_setting_usage_alert_phone_number" android:imeOptions="actionDone" android:inputType="phone" android:maxLength="21" app:endIconMode="clear_text" app:errorHideAuto="true" app:helperText="@string/advanced_data_setting_usage_alert_phone_tips_mercusys" /> </com.tplink.design.card.TPConstraintCardView> <Button android:id="@+id/send_message_btn" style="@style/Widget.TPDesign.Button.OutlinedButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/tpds_all_dp_44" android:text="@string/advanced_data_setting_usage_sms_send_test" app:layout_constraintBottom_toBottomOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> bug分析 为什么tf_phone输入框聚焦后,send_message_btn会被顶起来
10-17
我也可以给你看看别的。fragment_home.xml代码如下:<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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" tools:context=".ui.home.HomeFragment" android:fitsSystemWindows="true" android:background="@color/surface_background"> <!-- 🔍 输入框 --> <EditText android:id="@+id/home_input" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="请输入需要查询的公交线路或站点" android:textColorHint="#777777" android:textColor="@color/black" android:background="@drawable/rounded_edittext" android:minHeight="48dp" android:textSize="16sp" android:padding="12dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/home_search" app:layout_constraintHorizontal_chainStyle="packed" android:layout_marginStart="16dp" android:layout_marginEnd="8dp" android:layout_marginTop="88dp" /> <!-- 🔎 搜索按钮 --> <Button android:id="@+id/home_search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="搜索" app:layout_constraintTop_toTopOf="@id/home_input" app:layout_constraintBottom_toBottomOf="@id/home_input" app:layout_constraintStart_toEndOf="@id/home_input" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="16dp" /> <!-- 🚌 图片:居中偏上 --> <ImageView android:id="@+id/image_bus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleType="fitCenter" android:src="@drawable/bus" app:layout_constraintTop_toBottomOf="@id/home_input" app:layout_constraintBottom_toTopOf="@+id/text_home" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" android:layout_marginTop="144dp" android:layout_marginBottom="144dp"/> <!-- ℹ️ 底部说明文字 --> <TextView android:id="@+id/text_home" android:textColor="#777777" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_marginEnd="8dp" android:textAlignment="center" android:textSize="11sp" app:layout_constraintTop_toBottomOf="@id/image_bus" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> fragment_map.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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" tools:context=".ui.map.MapFragment" android:fitsSystemWindows="true" android:background="@color/surface_background"> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top_offset" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.015" /> <!-- 🔹 起点输入框 --> <EditText android:id="@+id/map_input1" android:layout_width="0dp" android:layout_height="48dp" android:hint="请输入起点" android:textColorHint="#777777" android:textColor="@color/black" android:background="@drawable/rounded_edittext" android:padding="12dp" android:layout_marginStart="16dp" android:layout_marginEnd="8dp" android:layout_marginTop="32dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/guideline_search" app:layout_constraintTop_toTopOf="@id/guideline_top_offset" /> <!-- 🔹 终点输入框 --> <EditText android:id="@+id/map_input2" android:layout_width="0dp" android:layout_height="48dp" android:hint="请输入终点" android:textColorHint="#777777" android:textColor="@color/black" android:background="@drawable/rounded_edittext" android:padding="12dp" android:layout_marginStart="16dp" android:layout_marginEnd="8dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/guideline_search" app:layout_constraintTop_toBottomOf="@id/map_input1" /> <!-- ✅ 分割线:75% 处(原样保留) --> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_search" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.75" /> <!-- 🔍 搜索按钮:纵向拉高,覆盖两个输入框 --> <Button android:id="@+id/map_search" android:layout_width="0dp" android:layout_height="0dp" android:text="搜索" android:textSize="16sp" android:gravity="center" app:layout_constraintStart_toStartOf="@id/guideline_search" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/map_input1" app:layout_constraintBottom_toBottomOf="@id/map_input2" android:layout_marginEnd="16dp" /> <!-- 🗺️ 地图视图:从终点输入框下方开始,延伸到底部 --> <com.amap.api.maps.MapView android:id="@+id/map_view" android:text="Bus-1.0" android:textColor="#777777" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/map_input2" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginTop="4dp" android:layout_marginBottom="0dp"/> </androidx.constraintlayout.widget.ConstraintLayout> 这两个界面跟fragment_settings.xml一样没有一点问题,而且采用的是相同的形式吧,activity_search_result.xml能不能也用这种形式呢,组件我希望都保留,你帮我做最小的修改就行。activity_search_result.xml代码如下:<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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="@color/surface_background"> <!-- 🔹 上方搜索栏容器 --> <LinearLayout android:id="@+id/search_container" android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="horizontal" android:padding="8dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintWidth_percent="0.95" /> <!-- EditText 输入框 --> <EditText android:id="@+id/search_input" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="1" android:hint="搜索公交站或线路" android:padding="12dp" android:background="@drawable/rounded_edittext" android:layout_marginEnd="8dp" android:inputType="text" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/search_btn" app:layout_constraintTop_toTopOf="@id/search_container" app:layout_constraintBottom_toBottomOf="@id/search_container" /> <!-- 搜索按钮 --> <Button android:id="@+id/search_btn" android:layout_width="wrap_content" android:layout_height="48dp" android:text="搜索" app:layout_constraintStart_toEndOf="@id/search_input" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/search_container" app:layout_constraintBottom_toBottomOf="@id/search_container" /> <!-- 🗺️ 地图视图:占页面中间 40% 高度 --> <com.amap.api.maps.MapView android:id="@+id/map_view" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintTop_toBottomOf="@id/search_container" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHeight_percent="0.4" android:layout_marginTop="4dp" android:layout_marginHorizontal="16dp" /> <!-- 🔽 RecyclerView:结果列表,占据剩余空间 --> <androidx.recyclerview.widget.RecyclerView android:id="@+id/result_list" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintTop_toBottomOf="@id/map_view" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toTopOf="@id/btn_go_to" app:layout_constraintVertical_bias="0" android:layout_marginTop="8dp" android:layout_marginHorizontal="16dp" /> <!-- “到这去”按钮:固定在底部上方 --> <Button android:id="@+id/btn_go_to" android:layout_width="0dp" android:layout_height="wrap_content" android:text="到这去" android:layout_margin="16dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
最新发布
11-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值