2014-12-25 3 views
0

나는 imageView를 만들고, 크기를 조정하고 추가하려고 노력하고 있습니다. 그러나 이것에 대한 해결책을 찾고 있었지만 아무런 문제가 없으며, 어떤 종류의 Param을 설정해도 이미지가 나타나지 않습니다. 더 이상 또는 응용 프로그램 충돌, 나는 안드로이드 스튜디오 1.0.1를 사용하고 있는데 이것은 내가 시도한 방법은 다음과 같습니다안드로이드 스튜디오 ImageView

이 하나의 이미지 사라지는

TableRow tableInfoCont = new TableRow(MainActivity.this); 
ImageView imageView = new ImageView(MainActivity.this); 
imageView.setImageResource(R.drawable.simpleAvatar); 

LinearLayout.LayoutParams imgPar = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT); 
imgPar.width = 50; 
imgPar.height = 50; 
imgPar.setMargins(5,5,5,5); 

imageView.setLayoutParams(imgPar); 
tableInfoCont.addView(imageView); 

이 하나의 이미지 사라지는

TableRow tableInfoCont = new TableRow(MainActivity.this); 
ImageView imageView = new ImageView(MainActivity.this); 
imageView.setImageResource(R.drawable.simpleAvatar); 

FrameLayout.LayoutParams imgPar = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.WRAP_CONTENT); 
imgPar.width = 50; 
imgPar.height = 50; 
imgPar.setMargins(5,5,5,5); 

imageView.setLayoutParams(imgPar); 
tableInfoCont.addView(imageView); 

이 하나의 앱은 앱이 그 것이다

TableRow tableInfoCont = new TableRow(MainActivity.this); 
ImageView imageView = new ImageView(MainActivity.this); 
imageView.setImageResource(R.drawable.simpleAvatar); 

imageView.getLayoutParams().width = 50; 
imageView.getLayoutParams().height = 50; 

tableInfoCont.addView(imageView); 

충돌이 하나

TableRow tableInfoCont = new TableRow(MainActivity.this); 
ImageView imageView = new ImageView(MainActivity.this); 
imageView.setImageResource(R.drawable.simpleAvatar); 

ViewGroup.LayoutParams imgPar = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT); 
imgPar.width = 50; 
imgPar.height = 50; 
//imgPar.setMargins(5,5,5,5); //not possible to set margin 

imageView.setLayoutParams(imgPar); 
tableInfoCont.addView(imageView); 

충돌이 모든 방법 ... 내가 여기에 놓친 거지 어떤 생각을 tryed?

답변

1

코드에서 레이아웃을 생성하는 것은 바람직하지 않습니다.

또한 TableView를 사용하기 전에 간단한 ImageView를 먼저 표시하도록하십시오.

이 코드를보십시오 :

TableLayout tableLayout = new TableLayout(this); 
TableRow tableRow = new TableRow(this); 
ImageView imageView = new ImageView(this); 
imageView.setImageResource(R.drawable.simpleAvatar); 
tableRow.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
tableRow.addView(imageView); 
tableLayout.addView(tableRow); 
setContentView(tableLayout); 
+0

답변 해 주셔서 감사합니다. 난 당신이 사용자의 아바타, 게시물의 날짜와 게시물 메시지를 가지고있는 포럼 게시판을 만들려고합니다. 그래서 내가 코드에서 레이아웃을 만들어야 만합니다. 더 좋은 방법이 있습니까? 내가 시도했던 해답은 코드를 통해 각 게시물에 대해 tableLayout을 만드는 것이 었습니다. –

+0

아니요 코드에 레이아웃을 만들 필요가 없습니다. 레이아웃 파일에서 레이아웃을 확장하고 TextView의 내용을 조작 할 수 있습니다. ListView와 BaseAdapter 클래스에 대한 정보를 읽을 수 있습니다. –

+0

그게 훨씬 쉽지 난 바보 야! >. < 잘 작동합니다. LinearLayout main_post_container = (LinearLayout) findViewById (R.id.main_post_container); View.inflate (MainActivity.this, R.layout.post_main, main_post_container); 이제는 어떻게 처리해야하는지 알아야합니다. 고마워요! –

0

는 표현 당신이하지 DP에서, 픽셀 높이와 너비를 지정 고려. 귀하의 사진이 귀하의 사진보다 넓거나 높기 때문에 사진이 사라질 수 있습니다 (귀하의 tablerow의 레이아웃 매개 변수를 확인하십시오). 이미지의 너비와 높이를 match_parent로 설정하고 느낌을 확인하십시오.

LayoutParams에서 일부 변경을 수행 한 후에 imageView.requestLayout()을 사용해보십시오. 그러면보기가 변경 사항에 대한 레이아웃을 다시 읽게됩니다.

관련 문제