Mais um post da série "Dicas de Android". Aproveitem!
Dica 1. Densidades de tela no Android e seus DPIs.
Atualmente temos dispositivos Android de diversos tamanhos e com qualidade de tela diferentes. É importante sabermos a tabela abaixo para usar imagens adequadamente para cada um deles.
Densidade | Dots per inch | Proporção |
---|---|---|
LDPI | 120dpi | 0.75 |
MDPI | 160dpi | 1.00 |
HDPI | 240dpi | 1.50 |
XHDPI | 320dpi | 2.00 |
XXHDPI | 480dpi | 3.00 |
XXXHDPI | 640dpi | 4.00 |
Dica 2. Obter as polegadas de um aparelho. Dica de Maurício Taumaturgo.
public double getInch(Activity act) { DisplayMetrics displayMetrics = new DisplayMetrics(); act.getWindowManager().getDefaultDisplay() .getMetrics(displayMetrics); double x = Math.pow( displayMetrics.widthPixels/displayMetrics.xdpi,2); double y = Math.pow( displayMetrics.heightPixels/displayMetrics.ydpi,2); double screenInch = Math.sqrt(x+y); return screenInch; }
Dica 3. HTML no TextView. Dica de Diego Nascimento (aluno do TECDAM)
O Android suporta algumas tags HTML dentro do componente TextView. Mas se quisermos carregar as imagens da tag <img /> usamos a classe ImageGetter.
TextView tvText = (TextView) findViewById(R.id.text); final String textoEmHtml = "<html><body>Html em " + "<b>Negrito</b> e <i>Itálico</i>" + "<img src='mario.png' />" + "Mais um texto qualquer" + "<img src='luigi.png' />" + " texto depois da imagem</body></html>"; ImageGetter imgGetter = new ImageGetter() { public Drawable getDrawable(String source) { BitmapDrawable drawable = null; try { Bitmap bmp = BitmapFactory.decodeStream( getAssets().open(source)); drawable = new BitmapDrawable( getResources(), bmp); drawable.setBounds( 0, 0, bmp.getWidth(), bmp.getHeight()); } catch (IOException e) { e.printStackTrace(); } return drawable; } }; meuTextView.setText( Html.fromHtml(textoEmHtml, imgGetter, null));
Dica 4. Customizando ActionBar
A ActionBar é utilizada como padrão navegacional do Android. Entretanto, customiza-la para com as cores da sua aplicação requer um certo esforço. Para minizar esse trabalho, é possível gerar os arquivos de recurso para personalizar a ActionBar através do site Android ActionBar Style Generator.
Dica 5. EditText com imeOptions e inpuType
A propriedade inputType do EditText indica qual o formato do teclado virtual mais adequado para a caixa de texto, enquanto a propriedade imeOptions indica o botão de ação do teclado.
<EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:imeOptions="actionDone" />
final EditText edtEmail = (EditText)findViewById(R.id.editText1); edtEmail.setOnEditorActionListener( new OnEditorActionListener() { @Override public boolean onEditorAction( TextView v, int actionId, KeyEvent event) { if (v == edtEmail && EditorInfo.IME_ACTION_DONE == actionId) { String email = edtEmail.getText().toString(); if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()){ edtEmail.setError("Email inválido!"); } return true; } return false; } });Dica 6. Carregando HTML com CSS e JavaScript no WebView
Se você for carregar um arquivo HTML que está dentro do seu APK, e esse arquivo usa arquivos de CSS e JavaScript, aconselho coloca-los na pasta assets do seu projeto e carregá-los da seguinte forma:
mWebView = (WebView) v.findViewById(R.id.webView1); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); mWebView.loadDataWithBaseURL( "file:///android_asset/", "Meu Html que usa CSS e JS", "text/html", "UTF-8", null);
4br4ç05,
nglauber
4 comentários:
Olá Nelson, boa tarde,
Para carregar o conteúdo que está no seu blog com texto e imagens, você usa o EditText para disponibilizar esse conteúdo no seu aplicativo Android ? Ou é outra coisa ?
Cunprimentos
César Malainho
Oi Cesar,
Não. Utilizo uma WebView :)
4br4ç05,
nglauber
Entendi, Seria possível usar o EditText para apresentar esse conteúdo ?
Oi Cesar,
Eu nunca fiz com EditText teria realmente que testar. Mas teoricamente o TextView (superclasse de EditText) suporta algumas tags HTML, então funcionaria parcialmente.
4br4ç05,
nglauber
Postar um comentário