無捲軸GridView少量圖片展示,捲軸gridview展示
import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.MotionEvent;import android.widget.GridView;public class NoScrollGridView extends GridView { private static final String TAG = "NoScrollGridView"; private static final int BLANK_POSITION = -1; private OnTouchBlankPositionListener mTouchBlankPosListener; public NoScrollGridView(Context context) { super(context); } public NoScrollGridView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } public interface OnTouchBlankPositionListener { boolean onTouchBlankPosition(); } public void setOnTouchBlankPositionListener(OnTouchBlankPositionListener listener) { mTouchBlankPosListener = listener; } @Override public boolean onTouchEvent(MotionEvent event) { if (mTouchBlankPosListener != null) { if (!isEnabled()) { // A disabled view that is clickable still consumes the touch // events, it just doesn't respond to them. return isClickable() || isLongClickable(); } if (event.getActionMasked() == MotionEvent.ACTION_UP) { final int motionPosition = pointToPosition((int) event.getX(), (int) event.getY()); if (motionPosition == BLANK_POSITION) { return mTouchBlankPosListener.onTouchBlankPosition(); } } } return super.onTouchEvent(event); }}
gridview添加捲軸的問題,
據我所知,在gridview上不需要實現滾動的。因為本身GridView本身是可以實現分頁的,所以在web的情況下再實現滾動的意義不大的。所以你的捲軸本身也不是gridview的捲軸,而是gridview的高度比外層父容器的高度大,所以外層外父容器出現了垂直捲軸的。
所以這裡要說的就是外層父容器的捲軸,如果你滾動了父容器捲軸,那麼其內容是向上滾的,而GridView作為其父容器的內容,自然也是向上滾動的,並不會為標題留下(術語叫凍結)。所以這裡只是一個外層滾動,並不能實現你的要求。
不過從你的問題中基本上可以看出是一個web編程的問題,那麼我建議你使用分頁的形式,不要使用捲軸。如果真想使用一樓提供的不錯的提示。但是你們兩個都沒有好好地把問題把握一下。
你所說的是web編程下的GridView,而一樓所說的是forms編程下的DataGridView,兩者還是有區別的。在GridView中並不存在ScrolBars的屬性,但是在forms下編程時由於form分頁的實現不合適,所以使用了捲軸的屬性。所以你在GridView中找不到滾動的屬性也是因為這樣的。
那麼我給你的建議是不使用捲軸,父容器的高度可以直接被撐大,資料量大時採用分頁的辦法來解決。如果你真的不想使用分頁而必須使用捲軸的話,可以考慮引用Forms空間中的DataGridView而不使用GridView。不過這樣使用總覺得不倫不類,且效能上比較差的。
所以對比一樓你應該明白我的意思。
當然,我們一般情況下還有一手比較絕的,那就是如果你使用提WPF的話,可以對GridView進行重定義的,那麼你想要一個捲軸,倒是十分容易的事——微軟的目的就是想用WPF取代Forms與Web編程,拿他們的話來說,這種實現更炫的效果,實現更智能的介面。
架構裡加了個gridview 怎捲軸就消失了
把GridView的style屬性裡加
style="overflow-y:auto;overflow-x:hidden;"