名厨android2.0项目总结


1.事件处理
   轮播: 事件的分发 ,事件的拦截,事件的处理

   
2.listview混排注意事项  

     getViewTypeCount()

     
  getItemViewType

3.高度测量
listview嵌套listview  
listview嵌套grideView
scrolView嵌套listview
评论string过长后显示不全的问题 首先要给Texview 添加几个属性
android:ellipsize="none"
android:lineSpacingExtra="4dp"
android:maxLines="100"
android:scrollHorizontally="false"
然后发现添加完这几个属性后并没有什么反应,那它不折行那问题肯定是string的长度挤到了外面那就给textViewx限制下宽度好像不太合理所以就给textView 外面套一个linnerlayout 设置它的width 为一个固定值这样知道textView长度够的时候它才会限制,所以对textView的影响没有

public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}

ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
}

listview 嵌套grideview  需要自定义Grideview 来禁止内滑动,主要的是重写on measure方法,进行测量

public class NoScrollGridView extends GridView {
public NoScrollGridView(Context context) {
super(context);

}

public NoScrollGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}

public NoScrollGridView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}



4.android 6.0适配问题

5.友盟分享的各种坑
文档上说快速集成只需10分钟,其实他妹的扯犊子
1).首先就是Ui 不合适特别是自定义的按钮的图片大小累蒙圈我们的设计师了
  问题: 自定义按钮的图片默认被友盟拉大和其他icon 区别出来是自定按钮
  解决方案:请求设计师做一套留有空白边的icon 这样就解决方案了,图片的大小我已经留了下来,避免下回重复此工作

2).qq控件分享不成功

 问题:分享链接错误 因为我们的应用还没有上线,所以分享的链接是本地搭建的服务器地址,比如:"http://192.168.1.132:8001/app“
解决方案:分享链接最好用带域名的链接,不要使用带ip地址的链接

3).集成错误的 qq appId

  问题:清单文件的qq activity de scheme id 问题
  解决方案:id 前面需要加上tencent 
<data android:scheme="tencent100519554" />


4).微信分享文案的问题

   问题:明明给温馨设置了分享内容可是文案莫名的消失了

   解决方案:微信的分享文案和其他的分享平台不一样不是放在text 里面而是放在了title 里面所以要把分享文案放在titile 里面

5)。新浪继承问题

  问题: 找不到集成新浪的so 文件

  解决方案: 把所有so文件放在libs 目录 并且要在gradle 里面指定下so 文件所在的位置,在按android 下加入
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}

6).各个平台的title 问题 效果不一样

  • qq空间和微信不设置标题,标题就默认显示内容了.就是说内容重复显示了2次
  • 微信朋友圈如果设置了标题,那么内容就不显示了
  • 新浪微博没这个功能
    总结: 最好给每个平台都设置titile 这样就不会出现分享失败的原因,并且微信的title text 要特使对待, 并且分享的链接,图片,要注意大小

7).分享的相关代码最好写在一个公共的累里面,这样方便奇台切面的调用,也减少了代码的冗余

6.推送的集成问题
    这里只能说 grade 里面的applicationId 一定要是自己的包名一定要正确正确!!!!!

7.适配问题:

  1).写布局文件的时候一定要把每个view的background设置下,不然在每个手机跑出来的界面你永远都不知道是个什么德行

 2).基于android 6.0动态获取权限

 3).华为荣耀底下的黑条布局适配问题

 4).按钮无响应的问题,原来如果两个布局叠放在在一起默认的如果不特殊处理,每个手机点击效果是不一样的哦 ,固 要把小面的点击事件设置为false 
     

8.代码优化,能提取的代买尽量前期全部提取方便后面的页面调用

  1)每个页面的title 和底部的Bar 

  2)能够复用的布局以及差别不是很大布局样式尽量写在一起

9.两个activity 传递的是对象数组的时候需要注意!!注意

  问题: 正常我们只需要在javabeen里面集成 Serializable 就可以了,可是发现数据传递不过去,还报出来莫名的错误这是为什么呢为什么呢!!! 

   解决方案: 继承了Serializable 这个类的内部类也需要集成 Serializable 













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值