일단 먼저 제가 간단한 개념을 하나 말씀드린자면,
뷰의 위치가 크기가 변하게 되면 xml에서는 layout_xxx 로 시작하는 속성을 설정하고,
자바 코딩에서는 LayoutParams 를 세팅해야 합니다.
예를 들어 gravity 속성은 뷰안의 텍스트를 정렬하는것이고,
뷰를 오른쪽으로 정렬하고자하면 뷰의 위치가 바뀌는것이므로 layout_gravity 속성을 설정해야합니다.
위에서 질문하신것도 버튼을 오른쪽으로 움직이니까 뷰의 위치가 변하는것이고 layout_gravity 속성을 설정해야 겠조.
자바코딩에서는
addContentView(deviceBtn, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
이것을
LinearLayout을 먼제 setContentView에 배치한후에
그 안에 버튼의 layout_gravity 속성을 설정하면 됩니다.
LinearLayout linear = new LinearLayout(this);
LinearLayout.LayoutParams paramlinear = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT);
setContentView(linear,paramlinear);
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
param.gravity = Gravity.LEFT;
linear.addView(deviceBtn, param);