0

9パッチpngと、背景を作成するために並べて表示されている通常のドローアブルのアンチエイリアシングを削除するのに問題があります。コントロールの背景として9パッチを使用してEditTextおり、タイル状のドローアブルをImageView「ディバイダー」を作成するための背景として使用しています。

これが私の9パッチpngの拡大バージョンです(白いグラフィックを表示するのは難しいので、透明な領域を青で塗りつぶしました):

9パッチ

そして、タイルパターンを定義するxmlと一緒に私のタイル背景画像:

タイル

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/border_diagonal_lines"
    android:tileMode="repeat"
    />

これがすべてをまとめたものです。

アプリのスクリーンショット

左側のスクリーンショットは私が現在取得しているものであり、右側のスクリーンショットは私がそれをどのように見せたいかです。目的の効果を達成するために何ができますか?

また、タイル状の背景を持つイメージビューの高さは、画面の解像度に関係なく常に3ピクセルにしたいのですが、単位として「ピクセル」を使用することは一般的に悪い考えです。これを回避する方法はありますか?

4

1 に答える 1

1

グラフィックをアンチエイリアシングするのではなく、おそらくそれらをスケーリングします(これは、当然のことながら、アンチエイリアシングも実行する可能性がありますが、原因ではありません)。それらを正しい密度固有のフォルダーに配置していますか?(たとえばdrawable-hdpidrawable-xhdpiなど)これを行う場合android:anyDensity="true"、マニフェストでタグを使用していないことも確認してください。

また、タイル状の背景を持つイメージビューの高さは、画面の解像度に関係なく常に3ピクセルにしたいのですが、単位として「ピクセル」を使用することは一般的に悪い考えです。これを回避する方法はありますか?

システムが複数の密度のスケーリングを処理する必要がある場合(代わりにDPを使用)、一般的なケースでは推奨されませんが、特に3ピクセルの高さが必要な場合は、ピクセルの高さを指定しても「悪い」ことはありません。

于 2012-07-25T16:46:21.163 に答える