Margens de widget não aplicadas no telefone ICS com o iniciador do TouchWiz?
Eu tenho um aplicativo com um widget. Eu sei que o Android 4.0 ou posterior irá criar automaticamente uma margem em torno do widget, então eu implementei a sugestão emesta página da API de desenvolvedores para tornar os widgets aproximadamente do mesmo tamanho em diferentes versões do Android. Eu testei o widget no emulador na API 10, 14 e 15 e funciona bem. O widget parece o mesmo em todas as versões. No entanto, quando eu testá-lo no meu telefone SGS2 com Android 4.0.3 não há margens! Como isso pode ser? o que estou perdendo? Alguém mais experimentou esse comportamento?
!
Aqui é meures / xml / widget_info.xml
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/widget"
android:minHeight="40dp"
android:minWidth="110dp"
android:updatePeriodMillis="60000" >
</appwidget-provider>
res / layout / widget.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget_mainlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/widget_margin"
android:background="@drawable/widget_background" >
</RelativeLayout>
res / drawable / widget_background.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="2dp"
android:color="#222222" />
<gradient
android:angle="225"
android:startColor="#DD2ECCFA"
android:endColor="#DD000000" />
<corners android:radius="7dp" />
</shape>
res / values / dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="widget_margin">8dp</dimen>
</resources>
res / values-v14 / dimens.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="widget_margin">0dp</dimen>
</resources>
No começo eu pensei que tinha algo a ver com o widget não ser atualizado corretamente como descritoAqui, mas remover o widget e adicioná-lo novamente não ajuda. Eu também experimentei um pouco com as configurações:
ConfiguraçãomaxHeight
emaxWidth
nowidget_info.xml
o arquivo não funciona, parece ser ignorado pelo emulador e pelo telefone.Mudandolayout_margin
parapadding
nowidget.xml
arquivo não tem efeito, widget parece o mesmo (mas no widget emulador API10 agora também não tem margens)Alterando a0dp
para16dp
nores/values-v14/dimens.xml
O arquivo tem um efeito no telefone e no emulador, mas o tamanho do widget no telefone e no emulador ainda é diferente.EDITAR: Eu instalei o GO Launcher Ex no telefone e, em seguida, o widget tem margens, então eu acho que este é um problema específico para o lançador TouchWiz da Samsung? alguém pode confirmar isso? Também estou interessado em soluções para fazer o widget parecer (mais ou menos) o mesmo ao usar o TouchWiz.