0

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에 정렬되지 않습니다.

단순한 질문 인 것처럼 보이지만 그렇지 않습니다.

미리 도움을 주셔서 감사합니다.

+0

'line_0_layout'은'main_layout'의 하위 항목입니까? 당신이 게시 한 코드는 그럴 경우에만 작동 할 수 있기 때문입니다. ALIGN_BOTTOM은 자식의 아래쪽 가장자리를 다른 자식의 아래쪽 가장자리와 정렬하는 규칙으로 정의됩니다. 'horse_img'와'line_0_layout'이'RelativeLayout' 부모를 공유하지 않는다면 당신이하려는 일이 가능하다고 나는 생각하지 않습니다. –

답변

0
layout_params.addRule(RelativeLayout.BELOW, line_0_layout.getId()); 
+0

감사합니다. 그러나 ImageView는 line_0_layout 레이아웃의 맨 아래가 아니라 기본 레이아웃의 맨 아래에 정렬됩니다. – thomaus

+0

. 이 샘플을 시도하십시오 – Autocrab

+0

행운도 없습니다. 레이아웃이 line_0_layout 레이아웃에 고정되어 있지 않습니다. – thomaus