2015-01-02 3 views
0

4 개의 셀 너비와 1 개의 셀 높이를 차지하는 appwidget을 디자인했습니다.Tablet의 AppWidget 문제

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" 
android:minWidth="250dp" 
android:minHeight="40dp" 
android:updatePeriodMillis="90000000" 
android:previewImage="@drawable/widgetlayout_2" 
android:initialLayout="@layout/main" > 
</appwidget-provider> 

주의 :@layout/main 폭과 높이를 갖는 match_parentdocs이 기준

는의 4x1 appwidget이어야한다. 그것은 appwidget의 크기와 관련이 없기 때문에 XML-codemain으로 게시하지 않습니다.

Everythink는 휴대 전화에서 정상적으로 작동합니다. 홈 화면에서는 회전 할 수 없기 때문일 수 있습니다.

그러나 태블릿

appWidget ( 넥서스 10 XHDPI 2560x1600의 API16 테스트)는 단지 3 × 측정한다!

답변이없는 스택에는 question과 비슷한 내용이 있습니다. 어쩌면 누군가가 업데이트를 받았을 수도 있습니다.

다음 호는 가로로 보면 appwidget 디자인이 예상대로입니다. 그러나 Portrait에서 내 appWidget은 홈 화면에서 축소되어 레이아웃이 엉망이됩니까? 누군가가 이것을 방지하는 방법을 알고 있습니까, 유일한 방법은 내 프로젝트에 layout-xlarge-port 폴더를 정의하고 거기에 포트 모드에서 타블렛을위한 사용자 정의 레이아웃을 넣어 것입니다?

도움을 주시면 감사하겠습니다.

+0

원하는 셀 크기는 무엇입니까? 4x1? – waqaslam

+0

@waqaslam 헤이, 나는 그들을 지정하지 않았다. 나는 OS가 너비와 높이의 절대적인 dp를 선택하도록했다. 나는 그들에게 4x1을 갖기를 원했고, 그래서 나는 'min-width' 250dp와'minHeight' 40dp를 선언했다. – MMike

답변

0

는 세포 위젯 4 ×를 만들기 위하여는, 당신은 다음과 같은 공식을 사용하여 중요 minHeight 당신의 의 minWidth지정해야합니다

dpSize = (세포의 수 * 74) - 2

android:minWidth="294dp" 
android:minHeight="72dp" 
: 그래서 수학적

, 그것은 밝혀졌다한다

위의 치수는 위젯의 기본 설치를 4x1 셀 구성으로 설정합니다. 태블릿 (가로 셀이 4 개 이상일 수 있음)에 위젯을 설치하면 휴대 전화에 표시된 것과 동일한 크기를 존중하게됩니다. 두 번째 문제에 대해서는

, 당신은 위젯의 최소 재 상당한 폭과 높이를 제한하기 위해 다음과 같은 정의 할 수 있습니다 : 나는 당신의 위젯의 세포 분포를 정의하지 않는 그것의 좋은 아이디어를 생각

//for example this will set the minimum allowed re-size of 2x2 cells 
android:minResizeWidth="146dp" 
android:minResizeHeight="146dp" 
android:resizeMode="horizontal|vertical" 

개 이상의 4x4 세포는이 분류가 휴대 전화와 태블릿에 적합하므로 사용자가 크기를 조정할 수 있습니다. 그러나 당신이 정제를위한 더 큰 세포 분대를 원하는 경우에 대비하여, 장치 화면 밀도에 따라 각각 폴더에 사용자 정의 셀 구성을 사용하여 복수의 appwidget-provider을 정의 할 것을 제안합니다. 예 :

res 
|-xml   //for ordinary screens, like phones and phablets 
|-xml-w820dp //for devices with minimum with of 820dp, like hi-res tablets and etc. 
+0

minHeight가 72dp 일 때 하나의 질문이 있는데 왜 minResizeHeight를 146dp로 설정해야합니까? 이것은 나에게 이해가되지 않는다. 72dp가 아니어야합니까? 'Update' 아,이 줄이 2x2 셀의 예제라는 것을 이해하지 못했습니다. 나는 그것을 테스트하고 피드백을 줄 것이다. 고맙습니다 – MMike