Android自定义弹窗模仿微信,Android 仿微信朋友圈点赞和评论弹出框功能

7

Android自定义弹窗模仿微信,Android 仿微信朋友圈点赞和评论弹出框功能

Android 自定义弹窗模仿微信

在 Android 开发中,自定义弹窗是非常常见的需求之一。尤其是在微信朋友圈这样的社交应用中,点赞和评论功能都是非常重要的一部分。在本文中,我们将详细描述如何实现一个类似微信朋友圈的点赞和评论弹出框。

1. 微信弹出框

微信朋友圈的点赞和评论功能,有两个组成部分:

* 点击左下角的“更多”按钮,弹出对话框。

* 点击...(省略号)按钮,弹出评论输入框。

在本文中,我们将重点实现这两个功能。

2. 弹出框布局

首先,我们需要定义一个布局来展示弹出框。我们可以使用 Android 的 `Dialog` 类来创建一个自定义的弹出框。

```xml

android:layout_height="wrap_content">

android:layout_width="24dp"

android:layout_height="24dp"

android:src="@drawable/ic_like" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="16sp"

android:textColor="333" />

android:layout_width="24dp"

android:layout_height="24dp"

android:src="@drawable/ic_comment" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="16sp"

android:textColor="333" />

```

3. 弹出框逻辑

接下来,我们需要实现弹出框的逻辑。我们可以使用 Android 的 `Dialog` 类来创建一个自定义的弹出框。

```java// MainActivity.javapublic class MainActivity extends AppCompatActivity {

private Button mBtnMore;

private Button mBtnComment;

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mBtnMore = findViewById(R.id.btn_more);

mBtnComment = findViewById(R.id.btn_comment);

mBtnMore.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

showLikeDialog();

}

});

mBtnComment.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

showCommentDialog();

}

});

}

private void showLikeDialog() {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("点赞");

builder.setMessage("你确定要点赞吗?");

builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override public void onClick(DialogInterface dialog, int which) {

// 点赞逻辑 }

});

builder.setNegativeButton("取消", null);

builder.show();

}

private void showCommentDialog() {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("评论");

builder.setMessage("你确定要评论吗?");

builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override public void onClick(DialogInterface dialog, int which) {

//评论逻辑 }

});

builder.setNegativeButton("取消", null);

builder.show();

}

}

```

4. 弹出位置的控制

最后,我们需要实现弹出框的位置控制。我们可以使用 Android 的 `WindowManager` 类来控制弹出框的位置。

```java// MainActivity.javapublic class MainActivity extends AppCompatActivity {

private Button mBtnMore;

private Button mBtnComment;

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mBtnMore = findViewById(R.id.btn_more);

mBtnComment = findViewById(R.id.btn_comment);

mBtnMore.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

showLikeDialog();

}

});

mBtnComment.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

showCommentDialog();

}

});

}

private void showLikeDialog() {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("点赞");

builder.setMessage("你确定要点赞吗?");

builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override public void onClick(DialogInterface dialog, int which) {

// 点赞逻辑 }

});

builder.setNegativeButton("取消", null);

builder.show();

}

private void showCommentDialog() {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("评论");

builder.setMessage("你确定要评论吗?");

builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override public void onClick(DialogInterface dialog, int which) {

//评论逻辑 }

});

builder.setNegativeButton("取消", null);

builder.show();

}

private void showLikeDialogAtBottom() {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("点赞");

builder.setMessage("你确定要点赞吗?");

builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override public void onClick(DialogInterface dialog, int which) {

// 点赞逻辑 }

});

builder.setNegativeButton("取消", null);

Window window = getWindow();

WindowManager.LayoutParams layoutParams = window.getAttributes();

layoutParams.gravity = Gravity.BOTTOM;

window.setAttributes(layoutParams);

builder.show();

}

private void showCommentDialogAtBottom() {

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("评论");

builder.setMessage("你确定要评论吗?");

builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override public void onClick(DialogInterface dialog, int which) {

//评论逻辑 }

});

builder.setNegativeButton("取消", null);

Window window = getWindow();

WindowManager.LayoutParams layoutParams = window.getAttributes();

layoutParams.gravity = Gravity.BOTTOM;

window.setAttributes(layoutParams);

builder.show();

}

}

```

在上面的代码中,我们使用了 `WindowManager` 类来控制弹出框的位置。我们可以通过设置 `gravity` 属性来控制弹出框的位置。

5. 总结

在本文中,我们详细描述了如何实现一个类似微信朋友圈的点赞和评论弹出框。在 Android 开发中,自定义弹窗是非常常见的需求之一。通过使用 Android 的 `Dialog` 类和 `WindowManager` 类,我们可以轻松地实现弹出框的逻辑和位置控制。

6. 最后

最后,我们需要注意的是,在 Android 开发中,弹出框的设计和实现需要考虑到用户体验和界面美观。我们应该尽量减少弹出框的数量和大小,以免干扰用户的视觉体验。

朋友圈点赞评论功能Android自定义弹窗模仿微信

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信云开发实现点赞收藏评论功能

下一篇 python 朋友圈点赞收费吗_微信点赞扣费是真是假 微信点赞要收钱了吗