Android仿微信朋友圈4实现评论动态时输入框和软键盘自动定位到内容下面

2

Android仿微信朋友圈4实现评论动态时输入框和软键盘自动定位到内容下面

好的,我会详细描述如何实现Android仿微信朋友圈4中的评论动态时输入框和软键盘自动定位到内容下面。

问题背景

在开发Android应用程序时,经常需要处理各种复杂的布局和用户交互。最近做完朋友圈功能后,测试提出一个功能优化,在某些发布的动态下评论时软键盘和输入框遮当内容了。这是一个比较常见的问题,很多App都遇到过类似问题。

解决方案

为了解决这个问题,我们需要使用Android中的Scroller类来实现滑动效果。Scroller可以帮助我们控制布局的滚动和定位。

下面是具体步骤:

1. 创建Scroller对象

首先,我们需要在Activity中创建一个Scroller对象:

```javaprivate Scroller mScroller;

```

2. 初始化Scroller

然后,我们需要初始化Scroller对象:

```javamScroller = new Scroller(this);

```

3. 获取评论布局的高度

接下来,我们需要获取评论布局的高度,以便在评论时软键盘和输入框自动定位到内容下面:

```javaint commentLayoutHeight = findViewById(R.id.comment_layout).getHeight();

```

4. 计算滚动距离

接着,我们需要计算滚动距离,以便在评论时软键盘和输入框自动定位到内容下面:

```javaint scrollDistance = commentLayoutHeight - getHeight();

```

5. 开始滚动

然后,我们需要开始滚动:

```javamScroller.startScroll(0,0,0, scrollDistance);

```

6. 在评论时更新布局位置

最后,在评论时,我们需要更新布局的位置,以便软键盘和输入框自动定位到内容下面:

```java@Overridepublic void onWindowFocusChanged(boolean hasFocus) {

super.onWindowFocusChanged(hasFocus);

if (hasFocus) {

mScroller.computeScrollOffset();

int scrollY = mScroller.getCurrY();

findViewById(R.id.comment_layout).setTranslationY(scrollY);

}

}

```

完整代码

下面是完整的代码:

```javapublic class MainActivity extends AppCompatActivity {

private Scroller mScroller;

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mScroller = new Scroller(this);

int commentLayoutHeight = findViewById(R.id.comment_layout).getHeight();

int scrollDistance = commentLayoutHeight - getHeight();

mScroller.startScroll(0,0,0, scrollDistance);

}

@Override public void onWindowFocusChanged(boolean hasFocus) {

super.onWindowFocusChanged(hasFocus);

if (hasFocus) {

mScroller.computeScrollOffset();

int scrollY = mScroller.getCurrY();

findViewById(R.id.comment_layout).setTranslationY(scrollY);

}

}

}

```

效果

在评论时,软键盘和输入框会自动定位到内容下面。这个功能可以大大提高用户体验。

以上就是如何实现Android仿微信朋友圈4中的评论动态时输入框和软键盘自动定位到内容下面的详细描述。

朋友圈评论键盘RecyclerView使用技巧-自动滚动

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

上一篇 分享网页到微信朋友圈,怎样才能带缩略图?

下一篇 如何实现分享链接到微信朋友圈时显示自定义LOGO以及名称介绍