在edittext中設定了最大行數,但是內容超果了最大行數限制,這時edittext是可以滑動的。但是如果在edittext巢狀在scrollview中時,會使edittext的滑動事件失效。
解決方法為:
_edittext.setontouchlistener(new view.ontouchlistener()
return false;
}});
if (可編輯) else
如果限制了edittext的最大行數,但是顯示時edittext的行數小於最大行數時,在edittext範圍內拖動時不會觸發scrollview的滑動事件的,導致整個頁面的滑動效果有卡頓不流暢的感覺,因為在edittext的觸控事件中就攔截了上層控制項的滑動事件,所以還需要判斷edittext是否可以滑動來控制是否攔截上層控制項的 滑動事件。
增加了判斷edittext能否上下滑動判斷,修改為:
_edittext.setontouchlistener(new view.ontouchlistener()
switch (event.getaction())
return false;
}});
方法edittext.canscrollvertically(direction)是判斷edittext在垂直方向上能否滑動。引數direction > 0 判斷能否向下滑動,< 0 判斷能否向上滑動。增加了此判斷後,如果edittext是不可以滑動的,scrollview能觸發滑動事件。
根據這個判斷還能延伸出更好的效果,就是當edittext可滑動,使用者向上滑動到頂或者向下滑動到底時,因為這時edittext是獲取了事件監聽所以就算edittext滑動到頂或底時,scrollview也是不可以觸發活動的。當修改為下面的判斷時,當edittext滑動到頂或底時能順利觸發scrollview的滑動事件,使整個頁面更加人性化,更加自然。
_contenttv.setontouchlistener(new view.ontouchlistener() elseelse}// 向上滑動
if (y - oldy > 0)else}}
break;
case motionevent.action_up:
oldy = 0;
v.getparent().requestdisallowintercepttouchevent(false);
break;
}}
ScrollView巢狀ListView只顯示一行
在開發的過程當中,由於手機螢幕的大小的限制,我們經常需要使用滑動的方式,來顯示更多的內容。在最近的工作中,遇見乙個需求,需要將listview巢狀到scrollview中顯示。於是乎有了如下布局 執行程式,如下結果,無論你如何調整layout width,layout height屬性,listvi...
ScrollView巢狀GridView的情況
開發中用到了需要scrollview巢狀gridview的情況,由於這兩款控制項都自帶滾動條,當他們碰到一起的時候便會出問題,即gridview會顯示不全。解決辦法,自定義乙個gridview控制項 public class mygridview extends gridview public my...
ScrollView巢狀ListView解決方法
在android中,不允許巢狀具有滑動視窗的view,但是有時又需要用到,這時需要重寫listview方法,這時就可以使用了,具體如下 package com.example.wangyi.review import android.content.context import android.ut...