我正在編碼從RelativeLayout擴(kuò)展的自定義視圖,并且想以編程方式調(diào)整它的大小,該怎么辦?自定義視圖類類似于:public ActiveSlideView(Context context, AttributeSet attr){ super(context, attr); LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); if(inflater != null){ inflater.inflate(R.layout.active_slide, this); }
如何以編程方式調(diào)整自定義視圖的大?。?/h1>
3 回答

慕桂英4014372
TA貢獻(xiàn)1871條經(jīng)驗 獲得超13個贊
如果您無法傳遞視圖的高度或?qū)挾?,則Android會引發(fā)異常。不要使用新的LayoutParams對象,而是使用原來的對象,以便保留所有其他設(shè)置的參數(shù)。請注意,getLayoutParams返回的LayoutParams類型是父布局的類型,而不是您要調(diào)整大小的視圖。
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) someLayout.getLayoutParams();
params.height = 130;
someLayout.setLayoutParams(params);

catspeake
TA貢獻(xiàn)1111條經(jīng)驗 獲得超0個贊
this.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, theSizeIWant));
問題解決了!
注意:請確保使用父布局的LayoutParams。我的是LinearLayout.LayoutParams!
- 3 回答
- 0 關(guān)注
- 366 瀏覽
添加回答
舉報
0/150
提交
取消