0

지금 당장 저는 Checkable을 구현하는 사용자 정의 ImageView를 사용하도록 설계된 수정 된 RadioGroup (수정 된 RadioGroup) 내에서 ImageViews 사이에 여백 공간을 추가하는 것만 큼 간단하게 처리하기 위해 애 쓰고 있습니다. onMesarue를 재정의하지 않았습니다.) 길고도 짧은 이야기,이 이미지는 고정 된 크기 (60x60dip)의, 그리고 그들이 (웹에서) 동적이기 때문에, 나는과 같이 동적으로 추가했다 :안드로이드 - ImageView 여백이 LinearLayout에 나타나지 않습니다.

 for(int i = 0; i < num; i++){ 
      ImageViewRadioButton childImage = new ImageViewRadioButton(mContext); 
      float imagehWidthHeight = getResources().getDimension(R.dimen.image_width_and_height); 

      LinearLayout.LayoutParams imageParams = new LinearLayout.LayoutParams((int) imageWidthHeight, (int) imageWidthHeight); 
      int imageSpacing = Utils.dipsToPixels(10, mContext); 
      int innerPadding = Utils.dipsToPixels(5, mContext); 

      imageParams.leftMargin = imageSpacing; 
      imageParams.rightMargin = imageSpacing; 
      childImage.setAdjustViewBounds(true); 
      childImage.setLayoutParams(imageParams); 
      childImage.setBackgroundDrawable(getResources().getDrawable(R.drawable.blue_pressed)); 
      childImage.setPadding(innerPadding, innerPadding, innerPadding, innerPadding); 
      childImage.setClickable(true); 
      //other non-image properties... 
      imageContainer.addView(childImage); 
     } 

작업을 수행하는 유일한 방법은있다 패딩 (padding). 그러나 각 어린이의 여백 사이에 여백이 보이지 않습니다 (여백). 이 일을 제대로하고 있습니까, 아니면 각 자녀의 마진을 고려하여 onMeasure를 무시하는 것보다 더 좋은 방법이 있습니까?

답변

0

imageParams을 만들었지 만 imageParams 대신 코드에서 해당 매개 변수를 사용하지 않고 swatchParams 매개 변수를 사용하고 있습니다. 그리고 당신은 swatchParams 코드를 넣지 않았습니다.

+0

분명히 예입니다. 따라서 imageParams가 있어야합니다. LayoutParams 객체를 생성하여 뷰에 전달 했더니 여전히 작동하지 않았습니다. –

관련 문제