장치 방향 변경과 관련하여 SO에 관한 많은 질문이 있습니다. 위젯에 대해 이해할 수도 있고 그렇지 않을 수도 있습니다. textScale에 관한 구성 변경 사항에 대한 알림을 받고 싶습니다. (글꼴 크기를 가장 잘 사용해야하는 계산을하고 위젯에서 모양이 잘 보이도록 레이아웃을 조금 재정렬하십시오.)위젯이 textscale의 변경 사항을 인식하는 방법?
그런 말로하면, 나는 최선의 접근 방식이 무엇인지 궁금해하고있었습니다. 지금까지 내가 발견 :
이의 AppWidgetProvider가 수신 할 수없는 Intent,있다 ("당신은 명시 적으로 위해 Context.registerReceiver로에 등록하여 매니페스트에 선언 된 구성 요소를 통해이를받을 수 없습니다(). 매니페스트에 ")
는 그런 방법 onConfigurationChanged (...이있는 RemoteViewsService있다) ...하지 리시버 (즉 위젯입니다 들어, 활동을 위해입니다) , 그러나 나는 아직 이해하지 못한다, h 오우 나는 그것을 이용하게 될 것입니다.
더 많은 대체 방법이 있습니까? RemoteViewsService를 사용해야합니까? 당신의 힌트를 가져 주셔서 감사합니다! 이것의
답변 해 주셔서 감사합니다. 나는 그 질문을 읽었고, 당신은 그것을 연결했고, 나는 또한 나의 질문에서 그것을 언급했다고 생각했다. 적어도 그건 내 의도 였어. 그렇게하고 사용 가능한 정보를 멋지게 요약 해 주셔서 감사합니다. 필자의 경우 방향 변경이 아니라 textScale이지만 기술적 솔루션에는 영향을 미치지 않습니다. 내가 가진 문제는 사용자가 텍스트 스케일을 증가시킬 때 일부 텍스트가 더 이상 TextView에 맞지 않는다는 것입니다. 내가보기/layoutconfiguration을 조절할 수 있는지 알게 될 것이다. – AndreasEK
오리엔테이션 변경 부분이 실제로 질문과 관련이 없기 때문에 제거했습니다.textScale과 오리엔테이션은 사용자 액션, 프로그래밍 방식으로 트리거, 키보드 미끄러짐 등으로 인해 여러 가지 방식으로 방향 변경이 발생할 수 있기 때문에 효과가 있습니다. 오리엔테이션 변경을 캡처하는 많은 메소드가 둘 중 하나에서 실패 할 수있는 것처럼 보입니다. 방아쇠. 어쨌든 그건 당신이 관심있는 것이 아니고 당신을위한 해결책이 없습니다, 죄송합니다. –
나는 그 문제를 해결하기 위해 "setWidth"대신 "setMinWidth"라는 textviews를 사용했지만, 다른 방법을 통해 다시 그리기가 트리거 될 때까지보기가 조금 어색하게 보입니다. fontScale이 자주 바뀌기를 기대하지 않기 때문에 이것은 절충적인 선택입니다. 당신의 도움을 주셔서 감사합니다. – AndreasEK