내 도구 모음에 그래디언트를 설정하려고하지만 setSize 및 setGradientCenter가 작동하지 않는 것처럼 보입니다.GradientDrawable 프로그래밍 방식으로 생성 : setSize 및 setGradientCenter 메서드가 작동하지 않습니다.
그라디언트의 중심과 높이가 CMS에서 가져온 값에 따라 다르기 때문에 동적으로 만들어야하지만이 작업을 수행 할 수는 없습니다. 크기와 중심에 대해 설정 한 값이 무엇이든 그라디언트는 항상 전체 도구 모음의 크기를 가져오고 가운데는 기본 도구 모음입니다.
설명서에 나와있는대로 mutate()를 먼저 호출했지만 결과가 없습니다. 또한 같은 결과를 가진 setBounds를 시도했습니다
GradientDrawable gradientDrawable = new GradientDrawable();
gradientDrawable.setOrientation(gradientData.getOrientation());
gradientDrawable.setColors(gradientData.getColors());
gradientDrawable.setGradientCenter(gradientData.getCenterX(), gradientData.getCenterY());
toolbar.setBackground(gradientDrawable);
내가 누락 된 것이 있습니까? 그럴 경우 오리엔테이션은 항상 선형입니다.
사용'ClipDrawable' 당신이 원하는 모든 클립하는 경우 다른 그리기 만들기 그것은 넓은/현재 수준 – pskink
@pskink에 따라 나는 그것을 클립 싶지 않아 짧은 왜냐하면 내가하는 경우 전체 그라데이션을하지 않기 때문에. 예를 들어 끝 색상이있는 경우 클립으로 잘라도 표시되지 않습니다. 그라디언트 효과가 더 빨리 끝나도록 그라디언트를 짧게하거나 수정하십시오. – moyo
그래서 'ScaleDrawable'을 사용하십시오 : * 현재 레벨 값 * – pskink