1
我有一個可擴展列表,裏面第一個孩子是Gridview。在這裏我有GridView高度切割的問題。我解決了這個問題:Gridview height gets cut。GridView項目不滾動裏面Expandable list
現在我得到新的問題是,不能夠在一定的高度下滾動gridview項目。我需要在這裏添加滾動條,因爲gridview項目可能會動態增長。
我能夠做到這一點與正常的gridview,但在可擴展列表視圖下顯示這個煩人的問題。
代碼:
<ExpandableListView
android:id="@+id/Explst"
android:layout_height="400dp"
android:transcriptMode="disabled"
android:layout_width="match_parent"
android:layout_marginTop="0.5dp" />
的GridView在擴展列表自定義佈局:
<mynamespace.ExpandableHeightGridView
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="20dp"
android:horizontalSpacing="2dp"
android:stretchMode="columnWidth"
android:isScrollContainer="false"
android:gravity="center" />
定製expandableheightgridview.cs
mynamespace
{
public class ExpandableHeightGridView :GridView
{
bool _isExpanded = false;
public ExpandableHeightGridView (Context context) : base (context)
{
}
public ExpandableHeightGridView (Context context, IAttributeSet attrs) : base (context, attrs)
{
}
public ExpandableHeightGridView (Context context, IAttributeSet attrs, int defStyle) : base (context, attrs, defStyle)
{
}
public bool IsExpanded {
get { return _isExpanded; }
set { _isExpanded = value; }
}
protected override void OnMeasure (int widthMeasureSpec, int heightMeasureSpec)
{
if (IsExpanded) {
int expandSpec = MeasureSpec.MakeMeasureSpec (View.MeasuredSizeMask, MeasureSpecMode.AtMost);
base.OnMeasure (widthMeasureSpec, expandSpec);
var layoutParameters = this.LayoutParameters;
layoutParameters.Height = this.MeasuredHeight;
} else {
base.OnMeasure (widthMeasureSpec, heightMeasureSpec);
}
base.OnMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
}
任何建議/提示/鏈接是明顯的。 我想在xamarin.android c#中,但即使任何java android解決方案也是有幫助的。
謝謝
是的,我已經做到了。展開工作沒有任何問題。但無法爲該網格項目設置滾動條,這是可擴展列表子項。 – Suchith