开发即时通讯功能遇到的问题

1.UI方面

1.软件盘覆盖聊天记录:

 

        


            
        

        

实现底部控件随着软键盘的弹出而上移

将EditText放在ScrollView中,设置 android:fillViewport="true"属性,ScrollView只将EditView嵌套在其中即可,不可将其他组件放进来;不可随意在清单文件中给该activity设置软键盘属性。

android:fillViewport="true" 这个属性允许ScrollView中的组件去充满它

若弹出的软键盘遮挡了部分上移的view,可以在清单文件中给activity设置属性android:windowSoftInputMode="adjustResize"一些不必要的属性不要随意添加,以免影响实现功能效果。

三种方法:
方法一:在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

方法二:在项目的AndroidManifest.xml文件中界面对应的里加入android:windowSoftInputMode="stateVisible|adjustResize",这样会让屏幕整体上移。
如果加上的是android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。

方法三:把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。但是我在AndroidManifest.xml对应的activity中设置
android:windowSoftInputMode="stateunspeciedadjustPan"
这样就可以了

2.Listview 始终显示到最后

  

Listview始终显示到最后面的两种方式

 android:transcriptMode="alwaysScroll"    //xml中设置
 listView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);    //Java代码设置
 MyAdapter adapter = new MyAdapter(this,messages);  //自定义的数据适配器   
listView.setAdapter(adapter);     //将适配器绑定到列表中
listView.setSelection(adapter.getCount());  //设置当前被选中的item,该item为最后一个

3.listview 不显示滚动条

android:scrollbars="none" 

4.listview 不显示分割线

android:divider="@null"

5.livstview Item在点击的时候,背景色不变,显示为透明色

 android:cacheColorHint="@color/transparent"
 android:listSelector="@color/transparent"

6.TextView设置行间距
textView有一个属性android:textScaleX是调节字间距的,它的值是一个float型。查看源代码,默认textView 此属性是使用的是:

android.internal.R.styleable.TextView_textScaleX
setTextScaleX(a.getFloat(attr, 1.0f));

行间距:

//android:lineSpacingExtra   //设置行间距,如”3dp”
//android:lineSpacingMultiplier   //设置行间距的倍数
android:lineSpacingExtra="3dp"
android:lineSpacingMultiplier="1.5"



   

2.API

1.字符串截取

开发即时通讯功能遇到的问题_第1张图片
字符串截取三个方法
String str = "s\\ziyuan";
String newStr = str.substring(str.indexOf("\\"),str.length());
String str1 = "100.562";
String result = str.substring(0, str.indexOf("."));

你可能感兴趣的:(开发即时通讯功能遇到的问题)