Android 如何在安卓系统中构建类似facebook的评论弹出窗口?

Android 如何在安卓系统中构建类似facebook的评论弹出窗口?,android,facebook,popup,comments,Android,Facebook,Popup,Comments,我想做一个像facebook android应用程序一样的弹出框,按下评论按钮就会打开。我想为我的应用程序设计相同类型的弹出窗口。有谁能告诉我如何构建它,或者只是指导我设计这种东西的要求是什么 谢谢。你可以通过 波普芬多 下面是在活动或片段上调用弹出窗口的过程。 使用Facebook制作很棒的摇摆动画。但是我使用了普通的xml动画文件 popup_layout.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout

我想做一个像facebook android应用程序一样的弹出框,按下评论按钮就会打开。我想为我的应用程序设计相同类型的弹出窗口。有谁能告诉我如何构建它,或者只是指导我设计这种东西的要求是什么


谢谢。

你可以通过

波普芬多

下面是在活动或片段上调用弹出窗口的过程。 使用Facebook制作很棒的摇摆动画。但是我使用了普通的xml动画文件

popup_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:id="@+id/headerLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="?attr/actionBarSize"
        android:orientation="horizontal"
        android:layout_alignParentTop="true"
        android:gravity="center">

        <TextView
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Some One and 20 Others Like this"
            android:textColor="@color/black"
            android:textStyle="bold"
            android:layout_margin="5dp"/>
    </LinearLayout>

    <ListView
        android:id="@+id/commentsListView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/headerLayout"
        android:layout_above="@+id/comment_section"
        android:layout_marginBottom="0dp"/>

    <LinearLayout
        android:id="@+id/comment_section"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="50dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="5dp"
        android:orientation="horizontal"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:gravity="center"
        >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:maxHeight="30dp"
            android:minHeight="20dp"
            android:layout_gravity="center"
            android:src="@mipmap/ic_launcher"
            />
        <EditText
            android:id="@+id/writeComment"
            android:hint="Write a Comment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:maxLines="2"
            android:focusable="true"
            android:layout_marginLeft="2dp"
            android:textSize="12sp"
            android:textColor="@color/black"
            android:background="#00000000"/>

    </LinearLayout>

</RelativeLayout>
将列表添加到布局中的方法

  void setSimpleList(ListView listView){

        ArrayList<String> contactsList = new ArrayList<String>();

        for (int index = 0; index < 10; index++) {
            contactsList.add("I am @ index " + index + " today " + Calendar.getInstance().getTime().toString());
        }

        listView.setAdapter(new ArrayAdapter<String>(MainActivity.this,
                R.layout.popup_list_item, android.R.id.text1, contactsList));
    }
void setSimpleList(ListView ListView){
ArrayList contactsList=新建ArrayList();
对于(int-index=0;index<10;index++){
contactsList.add(“我是@index”+index+“今天”+Calendar.getInstance().getTime().toString());
}
setAdapter(新的ArrayAdapter(MainActivity.this、,
R.layout.popup_列表_项,android.R.id.text1,联系人列表);
}
动画文件 自底向上.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="75%p" android:toYDelta="0%p"
        android:fillAfter="true"
        android:duration="400"/>
</set>

bottom_down.xml

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

    <translate android:fromYDelta="0%p" android:toYDelta="100%p" android:fillAfter="true"
        android:interpolator="@android:anim/linear_interpolator"
        android:duration="400" />

</set>


使用这个和对话框中的
edittext
谢谢你的建议。谢谢,伙计,我喜欢你的实现,但是你能帮我刷dismis吗?@Pamparanpa你找到了刷下dismise弹出窗口的解决方案吗?嘿,伙计们。。我刚刚找到了解决办法,通过刷卡。。。我用过这个图书馆。。以及listen recycleview位置的nestedScrollview..任何人都可以解释R.layout.popup\u list\u项,android.R.id.text1。text1应该是版面的一部分(弹出列表项目)@anuj Sharma
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="75%p" android:toYDelta="0%p"
        android:fillAfter="true"
        android:duration="400"/>
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate android:fromYDelta="0%p" android:toYDelta="100%p" android:fillAfter="true"
        android:interpolator="@android:anim/linear_interpolator"
        android:duration="400" />

</set>