그리드와 비슷하지만 LinearLayout
을 사용하여 개발하고 있습니다. 한 줄에 이미지를 넣은 후 3 개의 이미지와 정확한 하단 텍스트를 갖고 싶습니다. 내가 시도 무엇프로그래밍 방식 LinearLayout Weight
는 :
LinearLayout layout = new LinearLayout(context);
layout.setOrientation(LinearLayout.VERTICAL);
ImageView icon = new ImageView(context);
Item item = getItem(page, index);
Log.e("tag", item.getDrawable());
imageLoader.displayImage(item.getDrawable(), icon, R.drawable.ic_launcher);
icon.setPadding(15, 15, 15, 15);
layout.addView(icon);
TextView label = new TextView(context);
label.setTag("text");
label.setText(item.getName());
label.setTextColor(Color.BLACK);
label.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
label.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
layout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
layout.setWeightSum(3f);
layout.addView(label);
내가 View
을 반환하는보기 방법을했습니다 그래서이 방법의 끝에서 return layout;
을 반환합니다. 여기 체중 3 버튼이 나에게 효과가 없습니다. 코드는 텍스트가있는 행에 3 개 이상의 이미지를 표시하지만 무게가 3 인 이미지와 아래쪽 텍스트를 원합니다.
도움을 주시면 감사하겠습니다.
감사합니다.
'LayoutParams' 생성자에서 세 번째 매개 변수로 가중치를 지정할 수 있습니다. 예를 들어,'layout.setLayoutParams (new LinearLayout.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f)); '. 'f'는'float'의 약자로,이 경우'1'의 가중치가됩니다. 원하는 효과를 얻으려면 이것으로 놀아야합니다. – nKn
예, 이미 시도했습니다 \t \t layout.setLayoutParams (new LinearLayout.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f)); 그러나 이것은 나를 위해 일하지 않습니다. –
'이것은 나를 위해 일하지 않습니다.'는 매우 광범위한 개념입니다. * 왜 * 작동하지 않는지, 달성하고자하는 것, 그리고 어떤 결과를 얻고 있는지 설명하십시오. – nKn