2012-01-07 3 views
0

내 LinearLayout에서 android:layout_marginBottom을 XML로 설정했습니다. 그 값을 검색하고 싶습니다.Android : layout_marginBottom을 프로그래밍 방식으로 검색 하시겠습니까?

그냥 LayoutParams은 (는) bottomMargin에 액세스 할 수 없습니다. 저는 타입 변환하려고했습니다 :

row1 = (LinearLayout) findViewById(R.id.mainrow1); 
LinearLayout.LayoutParams row1Params = (android.widget.LinearLayout.LayoutParams) row1.getLayoutParams(); 

그러나 이것은 런타임 예외 ClassCastException을 제공합니다.

주된 목적은 중첩 된 LinearLayouts에서 버튼을 얻는 것입니다. & 단추의 자동 높이를 지정하면 프로그래밍 방식으로 LinearLayout의 높이/너비를 설정하려고합니다. 첫 번째 레이아웃 후에 bottomMargin을 추가 했으므로 2 행 사이에 공백이 있습니다.

+1

깨끗한 시도하고 구축 Wrap_Content 1 설정 Layout_Height에 설정에 layout_weight를 0dip합니다. – jeet

+0

@jitendrasharma, 예 jitendra, 그 일을했다. Horizontal LinearLayout에는 3 btns가 있습니다. 현재 layout_width = "78dip"값을 설정했습니다. 나는 그것이 가능한 모든 공간을 사용하기를 원한다. "WRAP_CONTENT"를 입력하면 텍스트의 크기 만 btn의 너비가됩니다. 나는 행의 모든 ​​btn을 같은 크기로 만들고 싶지만 모든 너비의 평온함을 사용할 수 있습니다. layout_height에 "fill_parent"를 사용 했으므로 높이가 좋습니다. 트릭을 수행 할 너비를 설정해야합니까? – Tvd

답변

2

변경 다음과 같은 논리에 따라 버튼의 레이아웃,

세트 Layout_Width는

+0

을 쓰십시오 - fill_parent는 wrap_content보다는 작동합니다. 그러나 그것에 문제가있다. 업데이트 된 질문을보십시오. – Tvd

+0

문제가 계속되거나 해결 된 경우 알려주십시오. – jeet

+0

감사하지만 wraping & filling 문제가 해결되었습니다. 이제 onCreate()에서 레이아웃의 높이를 찾을 수 없습니다 - http://stackoverflow.com/questions/8784616/android-get-screen-size-for-the-root-layout-only 가이드 할 수 있는지 확인하십시오. 이걸로. – Tvd

0

시도해보십시오. 레이아웃을 얻으면 R.layout. 최선의 선택입니다. 그것은 나를 위해 일하고있다.

row1 = (LinearLayout) findViewById(R.layout.mainrow1); 
+0

코드에서 R.layout.mainrow1이 아닌 R.id.mainrow1입니다. findViewById 메소드에서 게시 된 코드의 첫 행을 참조하십시오. – kosa

+0

R.id.mainrow1이 올바른 방법입니다. – jeet

+0

@thinksteep, jitendrasharma의 옵션 clean & build가 작업을 수행했습니다. layout_height에 대해 – Tvd

관련 문제