日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scrollview 与 listView 的显示不全问题

發(fā)布時間:2023/12/10 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrollview 与 listView 的显示不全问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用兩個GridView,兩個GridView一起上下滾動;
如果直接將兩個GridView添加到同一個界面上,它們是各自滾動的。
因此,我考慮使用SrollView,將它們包裝一下!
但這樣做會提示如下信息:
The vertically scrolling ScrollView should not contain another vertically scrolling widget (GridView)
并且GridView的界面也顯示不全,只顯示了一部分。

網(wǎng)上搜了一下,使用下面這個方法,效果挺好的!能滿足我的需求!
從GridView派生出一個自定義的類(MyGridView),重載其測量方法(onMeasure):

?

/*** @Type: MyGridView* 讓GridView可以做ScrollView的子控件,但尺寸不會減小*/ public class MyGridView extends GridView {public MyGridView(Context context) { super(context); } public MyGridView(Context context, AttributeSet attrs) { super(context, attrs); } public MyGridView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }

?

?

?

在XML中,將原來使用系統(tǒng)的GridView,替換成自定義的MyGridView即可:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="wrap_content"> <RelativeLayout android:layout_width="wrap_content"android:layout_height="wrap_content"tools:context=".MainActivity" ><com.gaojinshan.MyGridViewandroid:id="@+id/gv_app1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:horizontalSpacing="0dp"android:gravity="center"android:numColumns="4"android:stretchMode="columnWidth" android:verticalSpacing="0dip"/><com.gaojinshan.MyGridViewandroid:id="@+id/gv_app2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/gv_app1"android:horizontalSpacing="0dp"android:gravity="center"android:numColumns="2"android:stretchMode="columnWidth" android:verticalSpacing="0dip"android:scrollbars="none"/> </RelativeLayout> </ScrollView>

?

在GridView所在頁的其他控件的XML里配置上focusableInTouchMode=true,如下所示:

?

  • android:focusable="true"??
  • android:focusableInTouchMode="true"?
  • ?

    ?

    在點擊切換到該頁面時,使用ScrollView的smoothScrollTo(0, 0)方法,將滾動條置頂

    ?

    public void onClick(View v) {mViewPager.setCurrentItem(item);View view = mViewPager.getChildAt(item);if (view != null) {((ScrollView) view).smoothScrollTo(0, 0);}}

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/regalys168/p/4848270.html

    總結(jié)

    以上是生活随笔為你收集整理的scrollview 与 listView 的显示不全问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。