Изображения не кажутся мне размытыми.Они просто меньше из-за более высокого разрешения экрана.Но текст выглядит размытым.
Поэтому я бы предложил использовать комбинацию ImageView и TextView .Разделить текст и изображение.Текст будет соответствующим образом масштабирован.Вы также можете предоставить несколько наборов изображений для разных разрешений.
РЕДАКТИРОВАНИЕ: Вы можете создать макет элемента сетки, подобный следующему:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:gravity="bottom"
android:layout_width="wrap_content"
android:layout_gravity="bottom">
<ImageView android:id="@+id/thumbnailImage"
android:layout_height="70dp"
android:layout_width="fill_parent"
android:gravity="center_horizontal" />
<TextView android:id="@+id/thumnailTitle" android:text="TextView"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="fill_parent"
android:gravity="center_horizontal|bottom" />
</LinearLayout>
Создать пользовательский адаптер сеткиРасширяющий класс BaseAdapter:
public class MyGridAdapter extends BaseAdapter
{...}
связывает адаптер с вашей сеткой:
adapter = new MyGridAdapter();
GridView gridView = (GridView) findViewById(R.id.gridView);
gridView.setAdapter(adapter);
Тогда нужно просто заполнить элементы в сетке с помощью метода адаптера getView:
public View getView(int position, View convertView, ViewGroup parent)
{
// assuming the grid item layout is named "grid_item"
View view = inflater.inflate(R.layout.grid_item, null);
TextView text = (TextView) view.findViewById(R.id.thumnailTitle);
text.setText("Test");
ImageView thumbnail = (ImageView) view.findViewById(R.id.thumbnailImage);
...