12

当我尝试为 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);

注意:我的计划是从左到右滚动图像。
一、图片左侧隐藏,可以向右滚动查看全图

4

2 回答 2

1
 ViewGroup.MarginLayoutParams params =
 (ViewGroup.MarginLayoutParams)view.getLayoutParams(); params.topMargin = -100;
于 2018-02-26T01:50:55.223 回答
0

负边距应该在LinearLayout和中起作用RelativeLayout。您可能需要的是滚动HorizontalScrollViewscrollBy(int x, int y)实现scrollTo(int x, int y)您描述的“查看和滚动”效果。

还要记住,使用原始像素单位通常不是一个好主意,因为实际大小将取决于屏幕的像素密度。更喜欢dp测量。

于 2015-05-24T11:09:18.100 回答