【发布时间】:2018-03-02 07:29:37
【问题描述】:
我通过更改可展开卡片视图的可见性在 android 工作室中创建了可展开和可折叠卡片视图。 (因此,如果可见则展开,如果不可见则折叠,每个卡片视图都有展开或折叠的状态。) 但是,当卡片视图展开时,它会位于下一个卡片视图的下方。有什么方法可以将折叠的卡片视图从展开的卡片视图中推开?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="200dp" --> the extra 100dp for the expanded view
android:orientation="vertical"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_marginBottom="-100dp"> --> this allows the card views to be underneath each other when not expanded
....
</LinearLayout>
我在卡片视图适配器中的代码...
private void onClickButton(final CardView expandableLayout, final
LinearLayout mainlayout, final int i){
if (expandableLayout.getVisibility() == View.VISIBLE){
expandableLayout.setVisibility(View.GONE);
expandState.put(i,false);
}
else{
expandableLayout.setVisibility(View.VISIBLE);
// ideally mainlayout.
// something to change the android:layout_marginBottom="0" ?
expandState.put(i,true);
}
}
我想我需要实现一些代码来更改 main layouts 参数,当它可见时,当它不可见时,我只是找不到要使用的代码。
【问题讨论】:
-
设置卡片视图展开时的高度
-
这似乎不起作用它将可扩展的卡片视图设置在它正在扩展的卡片视图之上(我在上面发布的线性布局中的两个卡片视图)但不是其他的我认为这个是因为它们是在循环视图中创建的。
标签: android android-linearlayout android-cardview