アンドロイドの画面を開くのと同じようにアプリケーションを作成したいのですが、動的にimageをtableLayoutの行に追加しています。私はxmlファイルでtableLayoutを定義し、残りのコードはJavaにあります。私は正常に画像を追加しましたが、私はその画像のテキストを設定すること(私は画像の下にテキストを表示したい)と画像を特定の詰め物にする助けを得ていません。アンドロイドで画像にテキストを追加する
答えて
あなたの代わりに何ができるかは、RelativeLayoutを使ってImageViewのにオーバーレイでのTextViewを置くことです:)
はい。私は今それをしました。私はテーブル行にFrameLayoutを追加することができました。それはうまくいきました。ありがとうございました。 – dka72
これは最適なオプションです。簡単で、軽く、良いパフォーマンス – StErMi
Badass idea -.- +1 – khandelwaldeval
画像上のテキストを書くために次の関数を使用します。
private BitmapDrawable writeTextOnDrawable(int drawableId, String text) {
Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId)
.copy(Bitmap.Config.ARGB_8888, true);
Typeface tf = Typeface.create("Helvetica", Typeface.BOLD);
Paint paint = new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.WHITE);
paint.setTypeface(tf);
paint.setTextAlign(Align.CENTER);
paint.setTextSize(convertToPixels(mContext, 11));
Rect textRect = new Rect();
paint.getTextBounds(text, 0, text.length(), textRect);
Canvas canvas = new Canvas(bm);
//If the text is bigger than the canvas , reduce the font size
if(textRect.width() >= (canvas.getWidth() - 4)) //the padding on either sides is considered as 4, so as to appropriately fit in the text
paint.setTextSize(convertToPixels(mContext, 7)); //Scaling needs to be used for different dpi's
//Calculate the positions
int xPos = (canvas.getWidth()/2) - 2; //-2 is for regulating the x position offset
//"- ((paint.descent() + paint.ascent())/2)" is the distance from the baseline to the center.
int yPos = (int) ((canvas.getHeight()/2) - ((paint.descent() + paint.ascent())/2)) ;
canvas.drawText(text, xPos, yPos, paint);
return new BitmapDrawable(getResources(), bm);
}
public static int convertToPixels(Context context, int nDP)
{
final float conversionScale = context.getResources().getDisplayMetrics().density;
return (int) ((nDP * conversionScale) + 0.5f) ;
}
ビットマップに太字のテキストを追加するにはどうすればよいですか?オプションはありますか? plzは私を案内します。 –
あなたの方法は私のために働いた、テキストサイズを除いて。テキストサイズ(x5)をあなたの値を私のアイコンdrawableで読むことができるように設定しなければならなかった。これは私のデバイスの変換スケールに起因する可能性があります。ありがとう! – droideckar
ここでmContextは何ですか? –
私は正常な実装メートルイメージにテキストを追加する問題。次のコードを見てください。最初の1つのビューは、そのレイアウトの相対レイアウトとして、そのEditTextの後とそのボタンの後にImageViewを取る。 idのそれぞれを与える。以下にloadBitmapFromView関数を記述します。
public Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
v.draw(c);
return b;
}
ボタンをクリックします。
Bitmap bitmap = loadBitmapFromView(relativeLayout);
File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "folderName");
if (!dir.exists())
dir.mkdirs();
File file = new File(dir, "capture.jpg");
try {
FileOutputStream fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
imageView.setImageBitmap(bitmap);
} catch (Exception e) {
Log.e("ExpressionEditImageActivity", "Error, " + e);
}
は、スクリーンショットの下に参照して、より多くの参考のために...
この素晴らしいソリューションをありがとう。コードラインでお願いします。Bitmap bitmap = loadBitmapFromView(relativeLayout) 'relativeLayout'への'参照 'を取得できません... 'RelativeLayout'の' ID'を受け入れると受け入れませんそれ。少し説明していただけますか?ありがとう –
あなたの親ビューを渡す、私の場合、それは相対的なレイアウトです。 –
まあ、私はこれを視覚化できません。いくつかのサンプルコードでもう少し説明してください。ありがとう! –
- 1. 画像にテキストを追加
- 2. アンドロイドが他の画像に画像を追加する
- 3. FreeImageで画像にテキストを追加
- 4. アンドロイドでgridviewに画像を動的に追加する
- 5. 画像とテキストをテーブルビューに追加
- 6. fpdfの画像にテキストを追加
- 7. ギャラリーの画像をアンドロイドで動的に追加する
- 8. アンドロイドにプログラムで画像ビューアセレクタを追加する
- 9. Android。画像に効果を加えたテキストを追加する
- 10. jtableに画像の隣にテキストを追加するには?
- 11. Android:PNG形式の画像にテキストを追加するには?
- 12. GIF画像にテキストを追加するには? IOS
- 13. テーブルに画像とテキストを追加するには
- 14. 画像の後にpdfにテキストを追加する
- 15. 画像にテキストを自動的に追加する
- 16. ギャラリービューの画像にテキストを追加するには
- 17. 保存せずに画像にテキストを追加する
- 18. スライドショーの別の画像にテキストを追加するには
- 19. QLabelに画像とテキストの両方を追加するには
- 20. フレームレイアウトの画像とテキストにグラデーションを追加する方法を
- 21. アンドロイドで編集テキストにテキストを追加する方法は?
- 22. 画像に複数行のテキスト領域を追加する
- 23. 入力タイプのテキスト内に画像を追加する
- 24. htmlのテキストの隣に画像を追加する
- 25. 画像の下にテキストを追加する(左、中央、右)
- 26. ユーザー入力から画像にテキストを追加する[imagettftext]
- 27. データベースの画像とテキストをAndroidのリストに追加する
- 28. Xcodeの画像にテキストを追加する
- 29. 画像付きのボタンにテキストを追加するHTML
- 30. 画像にテキストを追加するためのJqueryプラグイン
私はあなたがGridViewコントロールを使用することをお勧めします。 –