通过编程将textview置于imageview Android上

通过编程将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<

我试图将文本放在imageview上,但我不知道如何通过编程实现。 首先,我从firebase存储下载了一个图像,然后我想把这个图像放在一个带有一些文本的线性布局中。当数据库中有图像时,此过程会重复多次

这是我的代码: 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);
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);