我正在尝试扩展布局并将其添加到可拖动的网格视图中,但我得到的只是一个黄色方块。可拖动视图的 addView() 方法只拾取一个视图。例如,如果我添加一个 textView 或 imageView 则 textview 将被显示。如果我添加线性布局,则只会显示线性布局的背景(也称为线性布局)。但不是线性布局子项(图像和文本视图)。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" >
<TextView
android: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" />
<ImageView
android: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:
@Override
public void addView (View child) {
super.addView (child);
Log.d ("Draggable", "Draggable-addView");
newPositions.add (-1);
}
有任何想法吗?我需要提供更多信息吗?我唯一的解决方案是自定义 imageview 并覆盖 ondraw 并做我想做的事。但这太老套了,而且不可扩展。任何帮助,将不胜感激。