Pra contornar esse problema, eu pego as imagens do SDK (escolho da versão que eu acho mais bonita e que combina melhor) e coloco dentro da minha app, daí faco um xml (selector) e crio um estilo. Daí é só usar o estilo nos layouts...
2012/6/28 Eduardo Baião <eduardobaiao@gmail.com>
Oi Rodrigo!
O seu primeiro parágrafo não confere, ao menos em parte.
Se estiver definido que o tema do aplicativo é, por exemplo,
"Theme.Black.NoTitleBar", mesmo rodando em versões superiores do
Android, ainda assim as células das listas ficarão alaranjadas quando
selecionadas.
Já os botões, estes sim mudam automaticamente de acordo com a
plataforma em execução.
Na documentação do Android eles citam a possibilidade de definirmos o
tema dependendo da versão do Android em execução, o que permitiria
fazer com que o aplicativo se adaptasse totalmente à plataforma:
http://developer.android.com/guide/topics/ui/themes.html (Select a
theme based on platform version).
O Renato havia dito que não era possível setar o tema
"Theme.Holo.Light". Para isso ele precisa ir nas propriedades do
projeto no Eclipse e definir o "Project Build Target" com uma versão
que suporte esse tema. O problema é que, a partir desse momento, o
compilador já não impediria mais de usarmos recursos que podem não
existir na versão mínima desejada. Teríamos que tratar isso no código.
Em 28 de junho de 2012 10:35, Clebão - EcoCentauro
<clebaori@gmail.com> escreveu:
> Como o Lúcio comentou o visual dos componentes estão ligados diretamente a
> versão do Android que estão no device, ou seja, o visual do EditText muda
> dependendo da versão Android.
> Faça um teste simples na edição visual do layout da tela, tem a opção de
> mudar a versão do Android, coloque um EditText e fique mudando as versões.
> Resumidamente falando essa diferença acontece acontece porque os recursos
> defaults que são acessados pelo android.R.drawable (imagens, layout entre
> outros recursos) do Android instalado no device.
>
> Para resolver esse problema só criando um layout padrão somente seu e
> configura-los em todos os componentes visuais.
>
> Já essa questão de android:minSdkVersion , server apanas como limitador de
> recursos que você vai ter para desenvolver o seu app como por exemplo: Se
> você vai utilizar os Fragments (sem a biblioteca de compatibilidade) só pode
> ser utilizado no Android 3.0 ou superior. Porem consequentemente você só
> pode utilizar o seu app em device que estão instalados o Android 3.0 ou
> superior.
>
>
> Em 28 de junho de 2012 10:07, Rodrigo Carvalho Silva <rcsilva83@gmail.com>
> escreveu:
>
>> Estou chutando, mas será que isto não é resolvido com o pacote de
>> compatibilidade? Digo isto porque quando utilizo o ActionBarSherlock, coloco
>> o tema como Holo (na verdade, é uma extensão do ABS para o Holo) e funciona
>> da maneira que o Marcelo quer. Se não funcionar, porque quem resolve isto é
>> o ABS, aí é só usar a lib.
>> --
>> Rodrigo
>>
>> http://www.rodrigocarvalho.blog.br
>>
>>
>>
>>
>>
>> On Thu, Jun 28, 2012 at 10:04 AM, luciofm <luciofm@gmail.com> wrote:
>>>
>>> Quem dita o estilo dos componentes é o Theme do aplicativo ou de cada
>>> activity.
>>>
>>> Theme.Holo.Light por exemplo (mas isso só funciona em 3.0+)...
>>>
>>> Para ter uma aparencia consistente em todas as versões você deve criar o
>>> seu proprio tema.
>>>
>>> Lúcio Maciel
>>> luciofm@gmail.com
>>>
>>>
>>>
>>> On Thu, Jun 28, 2012 at 8:53 AM, Renato Porto Puccini
>>> <renatoppuccini@gmail.com> wrote:
>>>>
>>>> Então,
>>>> é que eu criei meu projeto e define o target 15, e minsdk 7 no manifest.
>>>>
>>>> Dae a hora que rodo no emulador versao ics 4.0.3, os EditText aparecem
>>>> versão android 2.3 e não o EditText do ICS (que é praticamente uma linha).
>>>> E não tenho a opção de settar o theme.holo.light. no manifest.
>>>>
>>>> Sera que fiz algo errado?
>>>>
>>>>
>>>> ------------------------------------------
>>>> Renato Porto Puccini
>>>> renatopuccinipt.com
>>>> @renatoporto
>>>> renatoppuccini@gmail.com
>>>> ------------------------------------------
>>>>
>>>>
>>>>
>>>> On Thu, Jun 28, 2012 at 8:14 AM, Marcelo Henrique
>>>> <marcelohd02@gmail.com> wrote:
>>>>>
>>>>> Sim aparece mas ´preciso colocar no manifest.xml as versoes de sdk que
>>>>> voce terá o suporte
>>>>>
>>>>>
>>>>> http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
>>>>>
>>>>> To specify API Level requirements, add a <uses-sdk> element in the
>>>>> application's manifest, with one or more of these attributes:
>>>>>
>>>>> android:minSdkVersion — The minimum version of the Android platform on
>>>>> which the application will run, specified by the platform's API Level
>>>>> identifier.
>>>>> android:targetSdkVersion — Specifies the API Level on which the
>>>>> application is designed to run. In some cases, this allows the application
>>>>> to use manifest elements or behaviors defined in the target API Level,
>>>>> rather than being restricted to using only those defined for the minimum API
>>>>> Level.
>>>>> android:maxSdkVersion — The maximum version of the Android platform on
>>>>> which the application is designed to run, specified by the platform's API
>>>>> Level identifier. Important: Please read the <uses-sdk> documentation before
>>>>> using this attribute.
>>>>>
>>>>> When preparing to install your application, the system checks the value
>>>>> of this attribute and compares it to the system version. If
>>>>> the android:minSdkVersion value is greater than the system version, the
>>>>> system aborts the installation of the application. Similarly, the system
>>>>> installs your application only if its android:maxSdkVersion is compatible
>>>>> with the platform version.
>>>>>
>>>>> If you do not specify these attributes in your manifest, the system
>>>>> assumes that your application is compatible with all platform versions, with
>>>>> no maximum API Level.
>>>>>
>>>>> To specify a minimum platform version for your application, add
>>>>> a <uses-sdk> element as a child of <manifest>, then define
>>>>> the android:minSdkVersion as an attribute.
>>>>>
>>>>> For more information, see the <uses-sdk> manifest element documentation
>>>>> and the API Levels document.
>>>>>
>>>>> Se nao é isso desconsidere este !! Abraços
>>>>>
>>>>>
>>>>> Em 28 de junho de 2012 00:52, Renato Porto Puccini
>>>>> <renatoppuccini@gmail.com> escreveu:
>>>>>
>>>>>> Como funciona o suporte a versoes anteriores sobre design, por exemplo
>>>>>> dos EditTexts?
>>>>>>
>>>>>> O EditText do ICS apareceria em um dispositivo 2.1 ou somente o
>>>>>> contrario ocorre?
>>>>>>
>>>>>> abs
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> ------------------------------------------
>>>>>> Renato Porto Puccini
>>>>>> renatopuccinipt.com
>>>>>> @renatoporto
>>>>>> renatoppuccini@gmail.com
>>>>>> ------------------------------------------
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> - Marcelo Henrique -
>>>>> "Se não puder se destacar pelo talento, vença pelo esforço." (Dave
>>>>> Weinbaum)
>>>>>
>>>>
>>>
>>
>
Thiago Rosa






0 comentários:
Postar um comentário