Это может быть противоположным вопросом от Android GridView Items ResizingGridView элемент не расширяется, чтобы показать содержание
У меня есть GridView, который установлен для отображения пользовательского макета, сделанный из LinearLayout с фоном 9-патча и TextView. LinearLayout имеет набор дополнений 10dp, поэтому TextView остается в центральном патче.
Когда я тестировал данные для расширения TextView, LinearLayout также появляется для расширения (yay!), Но GridView отключает нижнюю часть. На изображении ниже вы можете видеть, что нижний правый элемент имеет нижнюю правую кривизну.
MyClasses.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_classes);
notebookGrid = (GridView)findViewById(R.id.NotebookGrid);
ArrayList<String> class1 = new ArrayList<>(Arrays.asList("1", "Ms. Soldan's Class"));
ArrayList<String> class2 = new ArrayList<>(Arrays.asList("2", "Ms. Perry's Class"));
ArrayList<String> class3 = new ArrayList<>(Arrays.asList("3", "Ms. Panjwani's Class"));
ArrayList<String> class4 = new ArrayList<>(Arrays.asList("4", "Ms. Smith's Really Awesome Super Cool Class of Many Geniuses"));
ArrayList<ArrayList<String>> classArray = new ArrayList<>();
classArray.add(class1);
classArray.add(class2);
classArray.add(class3);
classArray.add(class4);
notebookGrid.setAdapter(new MyClassesAdapter(this, classArray));
}
MyClassesAdapter.java:
public View getView(int position, View convertView, ViewGroup parent) {
ArrayList<String> thisClass = getItem(position);
ViewHolder vh;
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.grid_class_notebook, parent,false);
vh = new ViewHolder(convertView,R.id.NotebookTitle);
convertView.setTag(vh);
} else {
vh = (ViewHolder)convertView.getTag();
}
vh.TitleView.setText(thisClass.get(1));
return convertView;
}
grid_class_notebook.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="@drawable/notebook">
<Space
android:layout_width="wrap_content"
android:layout_height="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:background="@color/White"
android:padding="10dp"
android:textStyle="bold"
android:textSize="12sp"
android:id="@+id/NotebookTitle"
/>
</LinearLayout>
activity_my_classes:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="22sp"
android:gravity="left"
android:padding="25dp"
android:text="@string/classes_title"
android:textStyle="bold"/>
<GridView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="2"
android:padding="15dp"
android:id="@+id/NotebookGrid"/>
</LinearLayout>
Как получить элемент или строку для роста выше в ответ на более крупный ребенок TextView?
добавить код для 'activity_my_classes.xml' – petey
добавленного activity_my_classes – Scott