2012-10-22 5 views
24

Java 코드를 통해 Android 앱용 Dialog를 구현해야하므로 XML을 사용할 수 없습니다.버튼을 프로그래밍 방식으로 설정하는 방법

범위 검색 막대를 구현하는 루트가 LinearLayout인데, 같은 레이아웃에 두 개의 버튼을 추가하려는 가로 방향으로 루트 레이아웃 아래에 다른 LinearLayout이 있습니다. 그래서 1로 무게를 설정해야하고 FILL_PARENT 너비와 WRAP_CONTENT 높이로 너비.

Java 코드로 어떻게 할 수 있습니까?

답변

42
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
p.weight = 1; 

rangeSeekBar.setLayoutParams(p); 

레이아웃 매개 변수를 설정할보기가 확실하지 않습니다. 방금 예제를 보여주기 위해 rangeSeekbar를 사용했습니다. 필요한 경우 변경하십시오.

항상 루트의 PARAM 유형을 사용 레이아웃 PARAMS를 사용

..

예. 당신은 당신이 RelativeLayout 사용 RelativeLayout.LayoutParams 내에서 PARAMS을 적용하려는 View을 ..이있는 경우

+0

이 작동, 감사합니다. – Zookey

+0

고마워,이 작품 –

14

당신은 LinearLayout.LayoutParams 생성자의 일부로에 전달할 수 있습니다 : 당신은 wrap_content 찾으시는 것입니까?

LayoutParams param = new LinearLayout.LayoutParams(
         LayoutParams.MATCH_PARENT, 
         LayoutParams.WRAP_CONTENT, 1.0f); 

1.0F 무게

0

요구 사항을 XML을 사용하지 않는입니까? 그렇지 않다면 레이아웃을 XML로 작성한 다음 런타임에 LayoutInflater을 사용하여 뷰 계층 구조를 구성하고 대화 상자에서 setView()으로 전달할 수 있습니다. 예를 들어

:

LayoutInflater inflater = LayoutInflater.from(getActivity()); 
View v = inflater.inflate(R.layout.my_dialog_layout, null); 

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
builder.setView(v); 
관련 문제