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