2010-09-17 25 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); 
相关问题