Я изучаю, как использовать gridview и начал работать над образцом приложения, чтобы построить базовый калькулятор.Textview получает обрезанный в GridView
Идея заключалась в использовании gridview для хранения ячеек. В gridview используется TextAdapter (расширяет BaseAdapter), который возвращает TextView, соответствующий переданной позиции.
Я могу настроить все, чтобы отображать числа от 0 до 9, но текстовое изображение кажется обрезанным справа. Это проблема я столкнулся
Вот мой XMLs
MainActivity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:textAlignment="center">
<TextView android:text="@string/hello_world" android:layout_width="fill_parent"
android:layout_height="48dp"
android:textIsSelectable="true"
android:id="@+id/textView" />
<GridView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/calculatorCellsView"
android:layout_marginTop="100dp"
android:numColumns="5"
android:columnWidth="20dp"
android:clickable="true"
android:choiceMode="singleChoice"
android:visibility="visible"
android:verticalSpacing="2dp"
android:horizontalSpacing="2dp"
android:gravity="center"
/>
</RelativeLayout>
cellLayoutOfGridView 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="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/id_gridCell"
android:background="@drawable/view_background"
android:gravity="center"
/>
</LinearLayout>
рисует фон рисовать границы
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:color="#000000" android:width="4dp"/>
<solid android:color="@color/background_material_light"/>
<padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp"/>
</shape>
Я обнаружил, что проблема была в определении функции getView() адаптера, переопределяющем layoutparams. удаление из файла java исправлено!
nope .. это не помогло – Abhinav
Я обновляю свой ответ. Попробуйте добавить 'android: layout_gravity =" center "' – vovahost
Я добавил еще несколько инструкций. См. Ответ. – vovahost