一个view把另一个view顶上去(比如:动态弹出一个底部弹出框把listview给顶上去)

好久没写了,直接上代码:

先上效果吧:正常图:如下:

然后点击右上角编辑:

从底部弹出一个框并挤压listview,即把listview推上面去了;

效果如下图:

扫描二维码关注公众号,回复: 2364403 查看本文章

然后上传代码:

/**
 * 退出动画
 */
private void exitanimation() {
    Animation animation = AnimationUtils.loadAnimation(
            getActivity(), R.anim.dialog_exit);
    linear_popcamera.clearAnimation();
    linear_popcamera.setAnimation(animation);
    linear_popcamera.setVisibility(View.GONE);
    xListView_scan.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.WRAP_CONTENT, 1.0f));
    linear_popcamera.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.WRAP_CONTENT, 0.0f));
    animation.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {

        }

        @Override
        public void onAnimationEnd(Animation animation) {
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });
}

/**
 * 进入动画
 */
private void enteranimation() {
    xListView_scan.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.WRAP_CONTENT, 1.0f));
    linear_popcamera.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.WRAP_CONTENT, 0.0f));
    Animation animation = AnimationUtils.loadAnimation(
            getActivity(), R.anim.dialog_enter);
    linear_popcamera.clearAnimation();
    linear_popcamera.setAnimation(animation);
    linear_popcamera.setVisibility(View.VISIBLE);
    animation.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {

        }

        @Override
        public void onAnimationEnd(Animation animation) {

        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    });
}

view1挤压view2的核心在于改变weight, 即可视布局分布大小;

上面是进入和退出动画, 从底部往上弹出,从上面往下消失;

dialog_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:toYDelta="100%p"
        android:duration="300"
    />
</set>

dialog_enter.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromYDelta="100%p"
    android:duration="300"
    />
</set>

布局device_message_fragment.xml

<?xml version="1.0" encoding="utf-8"?><!--用于第一个fragment布局添加-->
<LinearLayout 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"
    android:background="@color/white"
    android:orientation="vertical">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <com.xlistview.XListView
            android:id="@+id/xListView_scan"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1.0"
            android:divider="#00000000"></com.xlistview.XListView>

        <LinearLayout
            android:id="@+id/linear_popcamera"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.0"
            android:background="#404040"
            android:orientation="vertical"
            android:visibility="gone">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="8dp"
                android:src="@drawable/btn_gongneng" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginTop="10dp"
                android:text="功能选项"
                android:textColor="@color/white"
                android:textSize="14sp" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="15dp"
                android:layout_marginTop="15dp"
                android:orientation="horizontal">

                <LinearLayout
                    android:id="@+id/all_read_linear"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/btn_bianji_yidu" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="3dp"
                        android:text="标注已读"
                        android:textColor="@color/white"
                        android:textSize="14sp" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/all_select_linear"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/btn_bianji_quanxuan" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="3dp"
                        android:text="全选"
                        android:textColor="@color/white"
                        android:textSize="14sp" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/delete_linear"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:orientation="vertical">

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/delete_message" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="3dp"
                        android:text="删除"
                        android:textColor="@color/white"
                        android:textSize="14sp" />
                </LinearLayout>

            </LinearLayout>
        </LinearLayout>

    </LinearLayout>
</LinearLayout>

猜你喜欢

转载自blog.csdn.net/u014644594/article/details/81100247
今日推荐