android-Imageview和textview不在视图中显示?

android-Imageview和textview不在视图中显示?,第1张

概述我正在尝试增加一个布局并将其添加到可拖动的网格视图中,但是我得到的只是一个黄色正方形.可拖动视图的addView()方法仅拾取单个视图.例如,如果我添加textView或imageView,则将显示textview.如果添加线性布局,则只会显示linearlayout的背景(又称linearlayout).但不是linearlayouts

我正在尝试增加一个布局并将其添加到可拖动的网格视图中,但是我得到的只是一个黄色正方形.可拖动视图的addVIEw()方法仅拾取单个视图.例如,如果我添加textVIEw或imageVIEw,则将显示textvIEw.如果添加线性布局,则只会显示linearlayout的背景(又称linearlayout).但不是linearlayouts子级(图像和文本视图). dgv(可拖动GrIDvIEw)扩展了VIEwGroup,这是代码:

线性布局的添加:

LayoutInflater inflater = LayoutInflater.from (getActivity ());VIEw cellVIEw = inflater.inflate (R.layout.celllayout, null);if (cellVIEw != null)Log.d ("Snap", "cellVIEw != null");TextVIEw textVIEw = (TextVIEw) cellVIEw.findVIEwByID (R.ID.grID_label);textVIEw.setText (word);ImageVIEw imageVIEw =  (ImageVIEw) cellVIEw.findVIEwByID (R.ID.grID_image);imageVIEw.setimageBitmap (getThumb (word));dgv.addVIEw (cellVIEw);

线性布局:

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:background="#FFF000"androID:gravity="center"androID:orIEntation="vertical"androID:padding="5dp" ><TextVIEwandroID:ID="@+ID/grID_label"androID:layout_wIDth="wrap_content"androID:layout_height="wrap_content"androID:layout_gravity="center_horizontal"androID:layout_margintop="5dip"androID:text="@string/grID_label"androID:textcolor="#c31d36"androID:textSize="15sp" /><ImageVIEwandroID:ID="@+ID/grID_image"androID:layout_wIDth="150dip"androID:layout_height="150dip"androID:layout_gravity="center_horizontal"androID:contentDescription="An Image" androID:background="#ffff0000"/></linearLayout>

DGV:

@OverrIDepublic voID addVIEw (VIEw child) {    super.addVIEw (child);    Log.d ("Draggable", "Draggable-addVIEw");    newpositions.add (-1);}

有任何想法吗?我需要提供更多信息吗?我唯一的解决方案是自定义imagevIEw并覆盖ondraw并执行我想要的 *** 作.但这是如此骇人且不可扩展.任何帮助,将不胜感激.

解决方法:

这是DraggableGrIDVIEw的一个已知问题,不幸的是,我还没有解决.当我写DGV时,我并不完全理解视图的布局方式.您可以尝试让DGV在布置每个孩子之前对其进行测量.添加类似:

getChildAt(i).measure(MeasureSpec.makeMeasureSpec(childSize, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(childSize, MeasureSpec.EXACTLY));

在此行的布局之前:

getChildAt(i).layout(xy.x, xy.y, xy.x + childSize, xy.y + childSize);
总结

以上是内存溢出为你收集整理的android-Imageview和textview不在视图中显示?全部内容,希望文章能够帮你解决android-Imageview和textview不在视图中显示?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1094757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存