Мне нужно программно выровнять ImageView в нижней части LinearLayout.Выравнивание ImageView до LinearLayout программно
Я, конечно же, уже пытался добавить ImageView в качестве дочернего элемента LinearLayout, но изображение получилось сжатым (причина, по которой LinearLayout меньше изображения), и мне нужно, чтобы изображение не изменялось, выровнены.
Я также попытался это:
RelativeLayout main_layout = (RelativeLayout) view.findViewById(R.id.main_layout);
LinearLayout line_0_layout = (LinearLayout) view.findViewById(R.id.line_0_layout);
ImageView horse_img = new ImageView(getActivity());
horse_img.setImageResource(R.drawable.horse);
RelativeLayout.LayoutParams layout_params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layout_params.addRule(RelativeLayout.ALIGN_BOTTOM, line_0_layout.getId());
horse_img.setLayoutParams(layout_params);
main_layout.addView(horse_img);
, но он не работает: изображение добавляется к просмотру, но не выровнены по LinearLayout.
Кажется, простой вопрос, но это не так.
Заранее за вашу помощь.
Является ли 'line_0_layout' ребенком' main_layout'? Поскольку указанный вами код может работать только в том случае, если это так. ALIGN_BOTTOM определяется как правило, которое выравнивает нижний край дочернего элемента с нижним краем другого дочернего элемента. Я не думаю (но я не уверен), что то, что вы пытаетесь сделать, возможно, если 'horse_img' и' line_0_layout' не разделяют родителя 'RelativeLayout'. –