Android负边距不起作用

时间:2013-08-17 12:18:45

标签: android

当我尝试向LinearLayout提供负左边距时,我遇到了问题 负余量不会出现。
这是我的代码

HorizontalScrollView hview = new HorizontalScrollView(context); //  HorizontalScrollView is the outer view   
RelativeLayout.LayoutParams hs_lot_params = new RelativeLayout.LayoutParams(164, 164);
hs_lot_params.setMargins(100, 100, 0, 0); // set the positions

ImageView image = new ImageView(context);
image.setBackgroundResource(R.drawable.leder);
LinearLayout.LayoutParams img_lot_params = new LinearLayout.LayoutParams(164, 164);
img_lot_params.setMargins(0, 0, 0, 0);

LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(164, 164);
layoutParams.setMargins(-132, 0, 0, 0);
ll.addView(image, img_lot_params);
hview.addView(ll, layoutParams);

注意:我的计划是从左到右滚动图像 首先,图像的左侧部分是隐藏的,可以向右滚动以查看完整图像

2 个答案:

答案 0 :(得分:1)

 ViewGroup.MarginLayoutParams params =
 (ViewGroup.MarginLayoutParams)view.getLayoutParams(); params.topMargin = -100;

答案 1 :(得分:0)

负边距应该适用于LinearLayoutRelativeLayout。您可能需要的是使用HorizontalScrollViewscrollBy(int x, int y)滚动scrollTo(int x, int y)以实现" peek并滚动"你描述的效果。

另外请记住,使用原始像素单元通常是个坏主意,因为实际尺寸将取决于屏幕的像素密度。更喜欢dp测量。