問題タブ [nine-patch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - android hdpi、mdpi、ldpiの代わりに9パッチ画像を使用できますか
9 パッチ画像はどうですか。
の代わりに使用できますか?
/res/drawable-hdpi/icon.png ….. 72×72
/res/drawable-mdpi/icon.png …. 48×48
/res/drawable-ldpi/icon.png …… 36×36
利点/欠点は何ですか?
android - Photoshop/GIMP を使用して、9 パッチ (9.png) 画像に黒い線を作成できますか?
Android SDK ツール draw9patch は、(Photoshop や Gimp で使用されているように) 上から下に黒い線をすばやく描画できないため、完全な画像 (背景用の画像) から 9 パッチを作成する必要がある場合、非常に遅くなります。しかし、各ピクセルをペイントする必要があります。だから時間の無駄。私はあなたが私が話していることを知っていると思います。
では、最後のピクセルを埋めないように注意して、Photoshop/GIMP で黒い線を描画しようとした人はいますか? Android SDK はそれらを通常の 9 つの PNG 画像として扱いますか?
android - Android は、画像を水平方向に引き伸ばすための 9 パッチ ツールのサポートが必要です
PNG 画像を Android 用の 9 パッチとして準備する方法を誰かに説明してもらえますか? Android リンク ( http://developer.android.com/guide/developing/tools/draw9patch.html ) が十分に役立つとは思いません。水平方向に伸ばしたい画像は次のとおりです。
画像を 9 パッチ ツールに追加すると、黒い線を描画するオプションがまったくありません。次に、画像の周りに空白のピクセルを追加し、黒い線を追加して、次の 9 つのパッチを生成しました。
誰かが私に説明してくれたり、PNG を水平方向に引き伸ばす方法を教えてくれたりしたら、本当に感謝しています...
android - Android で NinePatch ファイルをコンパイルできません - file.9.png
9 パッチ ファイルの拡張子は何ですか? xxxxx.9.png? それがここで説明されていることです:http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
"拡張子 .9.png で保存し、プロジェクトの res/drawable/ ディレクトリに保存する必要があります。"
しかし、プロジェクトをコンパイルしようとすると、ファイル名が原因でエラーが発生します! ファイル名に2つのドットを保持できません..
では、どうすれば解決できますか?
android - 「ディスク」から NinePatch イメージを読み取り、NinePatchDrawable に変換するにはどうすればよいですか?
SDまたはアセットからいくつかのNinePatchイメージを読みたいので、コンパイルされていません。仕事をするために見つけることができるコンストラクタ/ファクトリはありません。NinePatch ツール ソースも試してみましたが、イメージの内部を使用して作業を行い、Android クラスは使用しません...
ケニー。
android - 奇妙な 9 パッチの動作
9 パッチのボタンの背景で問題が発生しましたが、何が間違っているのかわかりません。
これは、ボタンの xml 構成です。
この構成では、ボタンが押されたときに背景が異なるようにセレクターを使用しています (同じ 9 パッチ、グレースケールのみ)。また、セレクターを使用せずに 9 パッチを直接使用してみましたが、違いはないようです。
これは 9 パッチの画像です。
そして、これは結果です:
ご覧のとおり、パディングとストレッチ領域は完全に無視されているように見えます。9パッチの画像をプレーンなpngとして使用している印象がありますが、理由がわかりません。これは私の神経質になり始めているので、助けていただければ幸いです:p
前もって感謝します。
編集
わかりましたので、これはボタンを使用している完全なレイアウトです。
コードに関しては、お見せできるものはあまりありません。ボタンに非常に単純なリスナーを追加するだけです。
android - Android : 9patch 画像の作成/表示の位置合わせバグ
ナインパッチ:
スクリーンショット:
レイアウト XML:
望ましい結果:
「edit_tray」は、切り替え可能な UI 要素を表します。編集モードがオフの場合、「edit_tray」(したがってゴミ箱アイコン) は「なくなります」。編集モードがオンの場合、「edit_tray」が表示され、ScrollView のコンテンツにオーバーレイされます。
ゴミ箱アイコンには 2 つの要素があります。アイコン自体と、その背後にある線形グラデーションです。NinePatch 画像には、これらの要素に対応する 3 つの伸縮可能領域と 1 つの静的領域が含まれています。グラフィックの中央にあるごみ箱アイコンは静的で、水平方向の中央と画面の下部に直接表示されます。グラデーションは、画面の下部の一方の端からもう一方の端まで伸びる必要があります。
不具合?
NinePatch 画像には、画像の水平方向の両側に伸縮可能な領域が 1 ピクセルだけ含まれています。その結果、ゴミ箱アイコンが中央に直接表示されます (左側に 1 ピクセル == 右側に 1 ピクセル)。ただし、上のスクリーンショットでわかるように、そうではありません。注: このスクリーンショットは、私のテスト用電話である T-Mobile G2 から取得したものです。エミュレーターでも同じ効果が見られます。ただし、draw9patch プレビューと eclipse グラフィカル レイアウト ビューでは、画像は完全に分散されています。
バグの場所を突き止め、修正または回避するために、いくつかの方法を試しました。含む: Views の代わりに ImageViews を使用する (同じ効果)、android:scaleType="fitXY" を使用する (同じ問題)、実行時に画面の幅と「edit_tray」の幅が同じであることを確認する (同じである)、グラデーション (edit_tray 背景として) とアイコン (ImageView src として) に 2 つの異なる画像を使用する (2 つの画像が互いにオーバーレイされないという別の問題が発生します。両方に絶対高さを設定することで修正されます) など。
答え、回避策、および本当の質問
片面あたり最大 6 つの伸縮可能な領域を持ついくつかの単純な NinePatch 画像を使用して、いくつかのテストを行いました。少なくとも 1 つのテスト ケース (電話、エミュレーター、draw9patch、Eclipse のグラフィカル レイアウト) でそれらを表示する際に問題があることに気付きました。
画像を水平方向に拡大して、ゴミ箱アイコンの端に線形グラデーションがより多く表示されるようにすることにしました。画像を 128x64 (以前は 64x64) にしました。画像に発生していた悪い計算 (?) を抑えるために、伸縮可能な部分のエッジ部分を増やしました。Draw9patch が不良セクションを報告したので、両側に 1 つずつ、2 つのピクセルだけに戻しました。出来た!アイコンが画面中央に表示されるようになりました!理由はわかりませんが、画像の実際の伸縮可能な部分を変更せずに、画像の幅を 128 に変更するだけで機能するようになりました。
画像のサイズを約 100px 幅に戻して余分なピクセルの一部を削除しようとしたところ、エラーが再発しました。戻ってきただけでなく、アイコンが画面の中心からオフセットされたまったく同じ場所に配置されました。なぜこのようなことが起こるのか理解できません。
誰にもアイデアはありますか?これはバグですか?
私は現在、上記の回避策を考慮してこれを機能させていますが、何か提案があれば聞いています.
android - ビットマップからNinePatch、新しいスケーリングされたビットマップ
私の問題はこれです:
NinePatchを使用して作成された再スケーリングされたビットマップを作成する必要があります。
私の現在のシステムは、NinePatchファイルからビットマップを作成します。次に、これはNinePatch(またはNinePatchDrawable)に送られます。次に、サイズを変更して別のビットマップに出力する必要があります。
私はこれをレビューしました、そしてそれはかなり役に立ちました。
これが私の現在のコードです:
android - 背景を適用した場合、EditText でデフォルトのスタイルに戻す方法は?
解決方法がわからない問題に遭遇しました。ばかげているように見えますが、修正する方法が見つかりません。
私は Android に複数の EditText を含むフォームを持っています。フォームを送信すると、それらの EditText がチェックされ、間違ったデータがある場合は、EditText を赤い境界線に変更します (ninepatch イメージを適用します)。
問題は、ユーザーが EditText を変更したときに Android のデフォルト スタイルを復元したいのですが、その方法がわかりません。私が行った場合:
それはすべてを削除するだけで、それは私が望むものではありません。
ありがとう!
android - Androidでpng画像を9-patch-pngとして使用するには?
セレクターの背景として png 画像を使用したい:
ここで、inputfield_text_bg_active と inputfield_text_bg は png 画像です
そして、ストレッチに問題があり、見栄えがよくありません。
この png を 9-patch-png に変換せずに使用する方法はありますか?