我要重新创建此布局:
我设法做到了,但是布局也可以更改为:
将部分内容强制移出屏幕。
要进行更改,我将使隐藏的布局可见,该布局与按下某个按钮并消失时显示的额外布局相对应。
这就是我做的:
可见多余内容时的结果:
这是XML:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.02">
<LinearLayout
android:id="@+id/edit_holder"
android:layout_width="325dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:baselineAligned="false"
android:orientation="horizontal"
android:visibility="visible"
android:weightSum="2">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:layout_marginTop="50dp"
android:layout_weight="1"
android:background="@drawable/del_border"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/del_item"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_weight="1"
app:srcCompat="@drawable/ic_clear_bege_20dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/spinner_holder"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/spinner_border"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/spinner"
android:orientation="horizontal">
<Spinner
android:id="@+id/spinner_edit"
android:layout_width="30dp"
android:layout_height="40dp"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/img"
android:layout_width="239dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:foreground="@drawable/rounded_corners"
android:scaleType="fitXY"
app:srcCompat="@mipmap/ic_launcher"
tools:ignore="ContentDescription" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/nome_prod"
android:layout_width="165dp"
android:layout_height="32dp"
android:layout_marginStart="5dp"
android:text="TextView"
android:textColor="@color/preto_escuro" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="25dp"
android:orientation="horizontal"
android:weightSum="3">
<TextView
android:id="@+id/tam_txt"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="5dp"
android:layout_weight="1"
android:text="@string/tamanho"
android:textColor="@color/por_usar" />
<TextView
android:id="@+id/tam_val"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="TextView"
android:textStyle="bold" />
<TextView
android:id="@+id/preco_ant"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:gravity="end"
android:text="TextView"
android:textColor="@color/fade" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="4">
<TextView
android:id="@+id/cor_t"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="5dp"
android:layout_weight="0.6"
android:text="@string/cor"
android:textStyle="bold" />
<TextView
android:id="@+id/cor"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1.2"
android:text="TextView" />
<TextView
android:id="@+id/quanti"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="end"
android:text="X x" />
<TextView
android:id="@+id/preco_fin"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="5dp"
android:layout_weight="1.2"
android:gravity="end"
android:text="TextView"
android:textColor="@color/bege" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<View
android:id="@+id/line"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@color/preto_escuro" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
注意:请忽略图像的不同形状,与问题无关。
为了更清楚一点,我只想知道当隐藏的布局可见时,如何才能“弹出屏幕”部分内容。我不要任何滑动效果。
谢谢。
答案 0 :(得分:0)
您可以使用需要添加的滑动库之一
dependencies {
compile 'com.android.support:recyclerview-v7:21.0.0'
compile 'com.android.support:support-v4:20.+'
compile "com.daimajia.swipelayout:library:1.2.0@aar"
}
,该名称位于XML的顶部
<com.daimajia.swipe.SwipeLayout
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="80dp"
app:clickToClose="true">
有关更多信息,请查看此GitHub存储库
答案 1 :(得分:0)
您可以为此设置动画,使用对象动画器编写动画功能,然后在需要时启动它! 像这样:
private void hideLayout(){
float startX = yourLayout.getX();
float endX = 0 - yourLayout.getX();
ObjectAnimator anim
= ObjectAnimator.ofFlot(yourLayout,view.X.startX,endX);
anim.setDuration(500);
anim.start();
}