2013-07-08 2 views
0

프로그래밍 방식으로 가로 방향으로 선형 레이아웃을 선언했습니다.
레이아웃의 너비, 높이, 여백을 동적으로 설정하는 방법.
나는 아래처럼 시도 :
프로그래밍 방식으로 레이아웃의 여백을 설정하는 방법

  leftMargin = 40; 
     rightMargin = 20; 
     widgetWidth = 300; 
     topMargin = 5; 
     bottomMargin = 5; 
     widgetHeight = 100; 
     LayoutParams params = new LayoutParams((int) widgetWidth, (int) widgetHeight); 
     params.setMargins((int) leftMargin, (int) topMargin, 
       (int) rightMargin, (int) bottomMargin); 
     newHorizontalLayout = new LinearLayout(ctx); 
     newHorizontalLayout.setOrientation(LinearLayout.HORIZONTAL); 
     newHorizontalLayout.setLayoutParams(params); 


하지만 난 널 포인터 예외를 받고 있어요. 누구든지 자신의 문제를 해결하는 데 도움을 줄 수 있습니다.

+3

하는 라인 :

TextView tb_row_proName; android.widget.TableRow.LayoutParams lp_pro_name = new android.widget.TableRow.LayoutParams(android.widget.TableRow.LayoutParams.WRAP_CONTENT, android.widget.TableRow.LayoutParams.WRAP_CONTENT); tb_row_proName.setLayoutParams(lp_pro_name); 

마진을 설정하는 방법? 스택 추적은 어디에 있습니까? * 스택 트레이스가있는 곳마다 1 페니를 얻을 ​​수 있다면 ... * – WarrenFaith

+0

logcat을 제공하십시오 – OMAK

+1

아마도 ctx가 null입니까? 가져온 LayoutParams는 무엇입니까? – Blackbelt

답변

1

먼저 올바른 레이아웃을 가져와야합니다.

높이와 폭을 설정할 : 여기서 테이블 행의 LayoutParams의 예는

int margin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, r.getDisplayMetrics()); 
lp_pro_name.bottomMargin = margin; 
+1

http://java.about.com/od/javasyntax/a/nameconventions.htm - 변수 : 이름은 대소 문자를 혼합해야합니다. – Fortega

관련 문제