Отрицательное поле Android не работает - программирование
Подтвердить что ты не робот

Отрицательное поле 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);

Примечание. Мой план состоит в том, чтобы прокрутить изображение слева направо.
Во-первых, левая часть изображения скрыта и может прокручиваться вправо, чтобы увидеть полное изображение

4b9b3361

Ответ 1

Отрицательные поля должны работать в LinearLayout и RelativeLayout. Вам, возможно, понадобится прокрутить HorizontalScrollView с помощью scrollBy(int x, int y) или scrollTo(int x, int y), чтобы получить описанный вами эффект "peek and scroll".

Также имейте в виду, что использование необработанных пиксельных блоков обычно плохое, поскольку фактический размер будет зависеть от плотности пикселей экрана. Вместо этого следует использовать измерения dp.

Ответ 2

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