Tôi muốn tạo một ứng dụng giống như màn hình đang mở của android.I đang tự động thêm hình ảnh vào các hàng của tableLayout. Tôi chỉ định nghĩa tableLayout trong tệp xml và mã còn lại là trong java. Tôi đã thêm hình ảnh thành công nhưng tôi không nhận được bất kỳ sự trợ giúp nào với cài đặt văn bản của hình ảnh đó (tôi muốn hiển thị văn bản dưới hình ảnh) và hình ảnh là một phần đệm cụ thể. Làm thế nào để làm điều đó? Cảm ơn trước.Thêm văn bản vào hình ảnh trong android theo lập trình
Trả lời
gì bạn thay vì có thể làm là đặt một TextView trong lớp phủ lên ImageView sử dụng một RelativeLayout :)
Có.Tôi đã thực hiện ngay bây giờ.Tôi đã quản lý để thêm FrameLayout trong các hàng trong Bảng và hoạt động tốt. Cảm ơn tất cả. – dka72
Đó là lựa chọn tốt nhất. Dễ dàng, ánh sáng và hiệu suất tốt – StErMi
Badass idea -.- +1 – khandelwaldeval
Sử dụng các chức năng sau đây để viết văn bản trên hình ảnh:
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) ;
}
Làm cách nào để thêm văn bản in đậm trên bitmap? có một lựa chọn nào không? plz hướng dẫn tôi. –
phương pháp của bạn đã hoạt động đối với tôi ngoại trừ kích thước văn bản. Tôi đã phải thiết lập kích thước văn bản (x5) giá trị của bạn để có thể đọc được trong biểu tượng của tôi drawable. điều này có thể là do quy mô chuyển đổi cho thiết bị của tôi. cảm ơn! – droideckar
i mextext ở đây là gì? –
tôi đang thực hiện thành công như vậy vấn đề thêm văn bản trên hình ảnh. Chỉ cần nhìn vào mã sau đây. Đầu tiên hãy xem một bố cục tương đối trong bố cục đó, hãy xem ImageView sau EditText đó và sau nút đó. Cung cấp cho mỗi một id. Viết hàm loadBitmapFromView bên dưới.
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;
}
và khi nhấp vào nút.
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);
}
Thưởng thức ...
Để tham khảo nhiều hơn, tham khảo bên dưới ảnh chụp màn hình:
cảm ơn vì giải pháp tốt đẹp này. bạn có thể giúp xin vui lòng với dòng mã 'Bitmap bitmap = loadBitmapFromView (relativeLayout)' Tôi không thể có được một 'tham chiếu' đến' relativeLayout' ... nếu tôi cung cấp 'ID' của' RelativeLayout' nó không chấp nhận nó. Bạn có thể giải thích một chút được không. Cảm ơn –
Vượt qua chế độ xem gốc của bạn, Trong trường hợp của tôi, đó là bố cục tương đối. –
cũng .. tôi không thể hình dung được điều này. bạn có thể vui lòng giải thích thêm một chút với một số mã mẫu .. cảm ơn! –
- 1. cách thêm hình ảnh vào trình giả lập Android?
- 2. Android Thêm hình ảnh vào văn bản (trong chế độ xem văn bản)?
- 3. Lập trình Thêm hình ảnh vào ô xem bảng
- 4. Cách thêm văn bản dưới nút hình ảnh trong Android?
- 5. Thêm hình ảnh vào bên trái văn bản qua css
- 6. Văn bản nút cài đặt theo lập trình Android
- 7. Cách thêm mảng hình ảnh vào chế độ xem UIImage theo lập trình trong ios4?
- 8. Thay đổi hình ảnh của ImageView theo lập trình Android
- 9. Thêm văn bản vào một tập tin hình ảnh
- 10. Cách lập trình thêm văn bản vào UIView
- 11. Thêm ScriptManager vào Trang theo lập trình?
- 12. Cách thêm lối tắt vào Màn hình chính trong android theo lập trình
- 13. Thêm nhãn vào một hộp văn bản (lập trình)
- 14. WPF: Thêm đường viền vào hình ảnh theo chương trình
- 15. Thêm văn bản động trên hình ảnh
- 16. Thêm ô theo lập trình vào UITableView
- 17. Android - Thêm hình ảnh vào dự án
- 18. làm thế nào để thêm văn bản vào hình ảnh trong C# hay vb.net
- 19. Thêm văn bản vào UIImage
- 20. Chuyển cấu hình Android theo lập trình
- 21. thêm hình ảnh vào nhãn trong wpf?
- 22. Tạo hình ảnh có văn bản tùy chỉnh trong Android
- 23. Android hình ảnh lập trình lát nền làm hình nền
- 24. Tạo Văn bản Chỉnh sửa Lập trình trong android
- 25. Văn bản UISegmentedControl lập trình
- 26. Thêm hình ảnh vào UITextView
- 27. Cách thêm khung hình và chèn văn bản vào hình ảnh?
- 28. Thêm một hình ảnh bên trong một nút lập trình
- 29. Làm cách nào để thêm nhãn và hộp văn bản theo cách lập trình trong iphone
- 30. Bật màn hình theo cách lập trình trong android
tôi đề nghị bạn sử dụng GridView. –