微信扫一扫

028-83195727 , 15928970361
business@forhy.com

易生活(二)-APP—安卓中评论功能的实现

安卓评论效果,空间说说评论,社交2016-05-26

易生活(二)-APP—安卓中评论功能的实现

背景

  1. 在项目开发过程中用到了社交这个功能,同时包含了评论相关,做了这一块,记录一下。

效果图

实际效果图

后文给出的可供下载的源码效果图

环境

  • AndroidStudio

  • 配置

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.4.0'
        compile 'com.jakewharton:butterknife:7.0.1'
        compile 'com.facebook.fresco:fresco:0.9.0+'
    }
    

思路及实现

  1. 核心思路:因为考虑到要下拉刷新和上拉加载更多,为了避免事件冲突,我们避免使用ScrollView加Listview以及其它部分来实现。将评论列表设置成一个ListVIew,图文消息主题部分当做一个head添加到ListView中,最下层的两个按钮放到刷新布局的外面。
  2. 对于下面如何实现点击“评论”弹出评论框,同时原有两个按钮消失:设置两个LinearLayout布局,将原有按钮所在的LinearLayout设置为可见,另外一个设置为“gone”,当用户点击“评论”时,改变这两个LinearLayout的可见于不可见即可。
  3. 如何实现点击“评论”之后跳出拼音输入法,代码如下:

      /**
         * 显示或隐藏输入法
         */
        private void onFocusChange(boolean hasFocus) {
            final boolean isFocus = hasFocus;
            (new Handler()).postDelayed(new Runnable() {
                public void run() {
                    InputMethodManager imm = (InputMethodManager)
                            MainActivity.this.getSystemService(INPUT_METHOD_SERVICE);
                    if (isFocus) {
                        //显示输入法
                        imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                        mAmEtMsg.setFocusable(true);
                        mAmEtMsg.requestFocus();
                    } else {
                        //隐藏输入法
                        imm.hideSoftInputFromWindow(mAmEtMsg.getWindowToken(), 0);
                    }
                }
            }, 100);
        }
    
  4. 细节不再累述,参看源码

这是平时写的一些技术文章的微信公众号,欢迎关注:

演示代码下载

http://download.csdn.net/detail/wgyscsf/9532429