내 애플리케이션에 타원형 모양의 큰 버튼이 배경으로있어 런타임이 만들어집니다. 나는 몇 가지 기능을 활성화하면 내가 버튼과 보여를 숨길 때의이 버튼 A.다른 크기의 버튼은 배경과 같은 드로어 블을 공유합니다.
이름을하자의 가시성은 A.
같은 배경으로, GONE로 설정되고, 네 개의 작은 버튼이 표시됩니다 다시 말하지만, 적절한 크기를 가지고 있지만 배경 drawable은 이전에 그려진 작은 버튼의 크기와 같습니다. A 버튼의 크기를 채우도록 크기를 조정할 수 있습니까?
업데이트 : 내 코드
//BigButton.java
//...
GradientDrawable idle = new GradientDrawable();
idle.setColor(Color.rgb(red, green, blue));
idle.setShape(GradientDrawable.OVAL);
idle.setStroke(2, Color.rgb(red2, green2, blue2));
btn.setWidth(50*3f);
btn.setHeight(65*3f);
btn.setBackgroundDrawable(idle);
//...
//ChildButton.java
//...
GradientDrawable idle = BigButton.this.getIdleDrawable();
btn2.setWidth(50);
btn2.setHeight(65);
btn2.setBackgroundDrawable(idle);
//...
갱신 2 : 부모와 자식 버튼 사이에 자원 공유가 없습니다 있도록 다음은 새로운 당김을 만듭니다.
GradientDrawable idle = (GradientDrawable) ButtonSetupPanel.this.caller.getIdle().getConstantState().newDrawable();
사용중인 XML과 배경 설정에 사용하는 코드를 게시하십시오. –
Drawable은 런타임에 생성되므로 Shape에 XML이 없습니다. 새로운보기가 생성 된 다음 드로어 블 크기 자체가 크기 조정되는 것처럼 보이므로 큰 버튼을 다시 표시하면 작은 크기 조절 드로어 블이 표시되어 크기를 새로 고치는 방법이 필요합니다. – Vektor88