Upload
walmyr-carvalho
View
133
Download
3
Embed Size (px)
DESCRIPTION
Slides da palestra que dei sobre algumas das novas APIs no Android L, que aconteceu na reunião do GDG Rio de Janeiro do que ocorreu em 04 de setembro de 2014. -- Slides from the talk that I gave about some of the new APIs in Android L, that happened at the GDG Rio de Janeiro's meeting that occurred on September 4, 2014.
Citation preview
Android L Preview APIS e novidades da próxima versão do Android Rio de Janeiro
Walmyr Carvalho @walmyrcarvalho
Android Developer @ Hotel Urbano
Do que vamos falar hoje?
developer.android.com/preview
developer.android.com/preview
Novas APIS!
Por baixo dos panos
ART Runtime padrão
Open GL ES 3.1 Suporte nativo
Lembrando que é necessário alterar a versão do OpenGL no
AndroidManifest.xml:
<manifest> ...
<uses-feature android:glEsVersion="0x00030001" /> ... </manifest>
Chromium WebView Padrão do L
Android NDK
64-bit Suporte nativo
x64
Material Theme
O Material Theme permite que você customize as cores dos widgets do app
definindo as cores direto no XML do tema.
O tema possui três variações: @android:style/Theme.Material (Escuro)
@android:style/Theme.Material.Light (Claro) @android:style/Theme.Material.Light.DarkActionBar
<resources> <style name="AppTheme" parent="android:Theme.Material"> <item name="android:colorPrimary">@color/primary</item> <item name="android:colorPrimaryDark">@color/primary_dark</item> <item name="android:colorAccent">@color/accent</item> </style> </resources>
RecyclerView
RecyclerView é versão mais avançada e flexível do ListView. Todo o sistema de reciclagem e manipulação de views foi otimizado.
<android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent"/>
public class MyActivity extends Activity { private RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; private RecyclerView.LayoutManager mLayoutManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_activity); mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view); // LayoutManager mLayoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(mLayoutManager); // Adapter mAdapter = new MyAdapter(myDataset); mRecyclerView.setAdapter(mAdapter); }}
CardView
CardView é uma classe que herda de FrameLayout e consiste basicamente em um layout que replica um estilo de card, bem popular no Android.
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_gravity="center" android:layout_width="200dp" android:layout_height="200dp" card_view:cardCornerRadius=“4dp" card_view:cardBackgroundColor=“@color/white“> <TextView android:id="@+id/info_text" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v7.widget.CardView>
Palette
Palette é uma biblioteca que nos permite extrair cores predominantes de
um Bitmap.
Palette palette = Palette.generate(bitmap, 24);
É possível também usar o Palette assincronamente:
Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { @Override public void onGenerated(Palette palette) {
// Use o palette aqui } });
palette.getVibrantColor(); palette.getMutedColor(); palette.getLightMutedColor(); palette.getLightVibrantColor(); palette.getDarkMutedColor(); palette.getDarkVibrantColor();
Cuidado: Caso ele não encontre uma cor equivalente, ele retorna null, então é
importante tratar isso:
PaletteItem item = palette.getVibrantColor(); if (item != null) { view.setBackgroundColor(item.getRgb()); }
O Palette está disponível na Support Library v7.
Concluindo…
Existem muitas outras APIs disponíveis no Android L, acessem
developer.android.com/preview/ e conheçam todo o resto!
Dúvidas?
?
?
???
? ?
??
?
? ??
?
??
? ?? ???
?? ?
? ?
Boa noite e muito obrigado! :)
VRio de Janeiro
Links citados no talk developer.android.com/preview/
developer.chrome.com/multidevice/webview/overview github.com/flavienlaurent/livepallete
github.com/gabrielemariotti/RecyclerViewItemAnimators