0
나는 표시 할 항목을 추가하고 모든 것이 올바르게 진행되는 TableRow를 가지고 있습니다. 그럼에도 불구하고 레이아웃 수정 버튼을 추가하려면 페인트되지 않습니다. 코드는 다음과 같습니다.ImageButton 레이아웃을 수정하는 방법
ImageButton botonBorrar = new ImageButton(this);
botonBorrar.setImageResource(R.drawable.discard_light);
LinearLayout.LayoutParams buttonParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.MATCH_PARENT);
buttonParams.setMargins(15, 10, 10, 10);
botonBorrar.setLayoutParams(buttonParams);
myRow.addView(botonBorrar);
무엇이 잘못 될 수 있습니까? 나는 이것에 관해 많은 포스트를 따라 갔다. 그러나 아무것도 나의 문제를 고치는 것처럼 보인다.
미리 감사드립니다.
덕분에 많이, 그것은했다!. 그럼에도 불구하고 내가 행에 설정 한 높이 매개 변수를 유지하는 것 같지 않습니다. 내가 행을 채우는 데 사용하는 텍스트 뷰의 하나의 높이를 설정하여 그것을 할 수 있지만, \t \t TableLayout.LayoutParams tableRowParams = 새로운 TableLayout.LayoutParams에게 ( \t \t \t \t TableLayout.LayoutParams.MATCH_PARENT을 설정하여 얻을 관리 할 수 없습니다 , \t \t \t \t100); 그냥 100 픽셀 높이를 무시합니다. – kankamuso
글쎄, 문제는 NEW layoutparams에 있다고 생각합니다. 레이아웃에 뷰를 추가하면 해당 뷰의 레이아웃 매개 변수가 자동으로 생성되고 시스템에 맞게 올바르게 생성됩니다. 이렇게 자동으로 생성 된 레이아웃 매개 변수를 수정하면 레이아웃을 변경할 수 있습니다. 나는 다음 라인 테스트 : \t \t TableRow.LayoutParams buttonParams2 = (TableRow.LayoutParams) botonBorrar2 \t \t \t \t .getLayoutParams를(); \t \t buttonParams2.height = 800; 그리고 효과가있었습니다. –
고마워요. 마가리타. 나는 지금 그것을 이해하고 있다고 생각한다. 기존 레이아웃을 가져 와서 덮어 쓰지 않는 것만으로도 문제가됩니다. – kankamuso