易生活(二)-APP—安卓中评论功能的实现
背景
- 在项目开发过程中用到了社交这个功能,同时包含了评论相关,做了这一块,记录一下。
效果图
实际效果图
后文给出的可供下载的源码效果图
环境
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+' }
思路及实现
- 核心思路:因为考虑到要下拉刷新和上拉加载更多,为了避免事件冲突,我们避免使用ScrollView加Listview以及其它部分来实现。将评论列表设置成一个ListVIew,图文消息主题部分当做一个head添加到ListView中,最下层的两个按钮放到刷新布局的外面。
- 对于下面如何实现点击“评论”弹出评论框,同时原有两个按钮消失:设置两个LinearLayout布局,将原有按钮所在的LinearLayout设置为可见,另外一个设置为“gone”,当用户点击“评论”时,改变这两个LinearLayout的可见于不可见即可。
如何实现点击“评论”之后跳出拼音输入法,代码如下:
/** * 显示或隐藏输入法 */ 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); }
细节不再累述,参看源码