2010-09-17 24 views

回答

7
ListView lst=getListView(); 

LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
          LayoutParams.FILL_PARENT, 
          LayoutParams.FILL_PARENT 
         ); 
params.setMargins(0, 0, 0, 0); //left,top,right,bottom 
lst.setLayoutParams(params); 
+0

或者可選地(如果您的列表視圖是一個RelativeLayout的內):RelativeLayout.LayoutParams PARAMS =新RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,的LayoutParams。包裝內容); – Hubert 2012-10-06 05:06:49

+0

如果僅設置底部邊距,我們可以做什麼? – ssrp 2012-11-29 10:45:22

2

對於ListView控件,還有更多更簡單的編程

ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) mListView 
      .getLayoutParams(); 
    layoutParams.setMargins(0, 0, 0, 0); 

但LinearLayout中改變保證金的方法,你可以設置來自@UMAR回答的餘量。 玩得開心。 。@

0

動態使用動畫改變保證金:

Animation animMarginChange = new Animation() { 

    @Override 
    protected void applyTransformation(float interpolatedTime, Transformation t) { 
      ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) mListView 
      .getLayoutParams(); 
        layoutParams.setMargins(100, 0, 0, 0); 
    } 
}; 
animMarginChange.setDuration(500); // in ms 
mListView.startAnimation(animMarginChange); 
相關問題