通过编程将textview置于imageview Android上
我试图将文本放在imageview上,但我不知道如何通过编程实现。 首先,我从firebase存储下载了一个图像,然后我想把这个图像放在一个带有一些文本的线性布局中。当数据库中有图像时,此过程会重复多次 这是我的代码: XML:通过编程将textview置于imageview Android上,android,bitmap,textview,android-linearlayout,android-imageview,Android,Bitmap,Textview,Android Linearlayout,Android Imageview,我试图将文本放在imageview上,但我不知道如何通过编程实现。 首先,我从firebase存储下载了一个图像,然后我想把这个图像放在一个带有一些文本的线性布局中。当数据库中有图像时,此过程会重复多次 这是我的代码: XML: 以及活动中的相关代码: fileRef.getFile(localFile) .addOnSuccessListener(new OnSuccessListener<
以及活动中的相关代码:
fileRef.getFile(localFile)
.addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@RequiresApi(api = Build.VERSION_CODES.Q)
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
LinearLayout linearLayout = findViewById(R.id.linearLayout);
Bitmap bitmap = BitmapFactory.decodeFile(finalLocalFile.getAbsolutePath());
TextView textView = new TextView(GaleryActivity.this);
textView.setText("Something");
textView.setTextSize(24);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "aqua.ttf");
textView.setTypeface(typeFace);
textView.setGravity(Gravity.END|Gravity.BOTTOM);
linearLayout.addView(textView);
ImageView imageView = new ImageView(getApplicationContext());
imageView.setBackground(GaleryActivity.this.getResources().getDrawable(R.drawable.mybutton));
imageView.setImageBitmap(bitmap);
linearLayout.addView(imageView,params);
fileRef.getFile(localFile)
.addOnSuccessListener(新的OnSuccessListener(){
@RequiresApi(api=Build.VERSION\u CODES.Q)
@凌驾
成功时公共无效(FileDownloadTask.TaskSnapshot TaskSnapshot){
LinearLayout.LayoutParams params=新的LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_父级,
LinearLayout.LayoutParams.WRAP_内容);
LinearLayout LinearLayout=findViewById(R.id.LinearLayout);
位图位图=位图工厂.decodeFile(finalLocalFile.getAbsolutePath());
TextView TextView=新的TextView(GaleryActivity.this);
setText(“某物”);
textView.setTextSize(24);
Typeface-Typeface=Typeface.createFromAsset(getAssets(),“aqua.ttf”);
textView.setTypeface(字体);
textView.setGravity(Gravity.END | Gravity.BOTTOM);
linearLayout.addView(文本视图);
ImageView=newImageView(getApplicationContext());
setBackground(GaleryActivity.this.getResources().getDrawable(R.drawable.mybutton));
设置图像位图(位图);
linearLayout.addView(图像视图,参数);
LinearLayout逐个排列视图,视图不能重叠。您可以使用FrameLayout将TextView重叠到ImageView之上。或者,如果您有许多项目的列表,您也可以使用RecyclerView。为什么不使用recycler视图并在recycler项目模型XML中处理它?我会尝试一下,谢谢
fileRef.getFile(localFile)
.addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
@RequiresApi(api = Build.VERSION_CODES.Q)
@Override
public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
LinearLayout linearLayout = findViewById(R.id.linearLayout);
Bitmap bitmap = BitmapFactory.decodeFile(finalLocalFile.getAbsolutePath());
TextView textView = new TextView(GaleryActivity.this);
textView.setText("Something");
textView.setTextSize(24);
Typeface typeFace = Typeface.createFromAsset(getAssets(), "aqua.ttf");
textView.setTypeface(typeFace);
textView.setGravity(Gravity.END|Gravity.BOTTOM);
linearLayout.addView(textView);
ImageView imageView = new ImageView(getApplicationContext());
imageView.setBackground(GaleryActivity.this.getResources().getDrawable(R.drawable.mybutton));
imageView.setImageBitmap(bitmap);
linearLayout.addView(imageView,params);