Добавление отступов внизу ListView - PullRequest
0 голосов
/ 04 декабря 2011

У меня есть ListView, который заполняется с помощью специального адаптера.Я хотел бы добавить отступы к последнему элементу в списке, чтобы разместить объявления, чтобы объявления не покрывали последний элемент при прокрутке вниз.Единственный макет, который у меня есть, - это макет для каждой строки ListView:

<RelativeLayout 
 xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/BaseStyle"
android:orientation="vertical"
android:paddingLeft="5dip"
android:paddingRight="5dip"
android:paddingTop="8dip"
android:paddingBottom="8dip"
  >  

 <TextView  
    android:id="@+id/text"
    style="@style/BaseStyle.Title"
/>

 </RelativeLayout>

Кроме этого, у меня есть только мой собственный код адаптера, который заполняет ListView.Не уверен, что мне нужно включить какой-либо другой код, чтобы помочь с вопросом.

Редактировать, у меня нет основного макета, вот как я заполняю свой ListView:

 public class Main extends ListActivity {
 private CustomAdapter adapter;
 private String[] items = {};

 @Override     
 public void onCreate(Bundle icicle) {
      super.onCreate(icicle);

      adapter = new CustomAdapter();

      items = PopulateItems();

      for (String item : items)
           adapter.addItem(item);

      this.setListAdapter(adapter);
      adapter.notifyDataSetChanged();
 }

 private class CustomAdapter extends BaseAdapter {
 private String[] mData;
 private LayoutInflater mInflater;

 public CustomAdapter() {
      mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 }

 public void addItem(String item) {
      mData.add(item);
 }

 @Override
 public int getCount() {
      return mData.size();
 }

 @Override
 public Object getItem(int position) {
      return mData.get(position);
 }

 @Override
 public long getItemId(int position) {
      return position;
 }

 @Override
 public View getView(int position, View convertView, ViewGroup parent)
 {
      ViewHolder holder;
      String item = (String)this.getItem(position);

      if (convertView == null)
      {         
           holder = new ViewHolder();

           convertView = mInflater.inflate(R.layout.main, parent, false);
           holder.text = (TextView)convertView.findViewById(R.id.text);
           convertView.setTag(holder);
      } else {
           holder = (ViewHolder)convertView.getTag();
      }
      TextView tvText = holder.text;
      tvText.setText(item);
 }

 static class ViewHolder {
      TextView text;
 }

Ответы [ 2 ]

2 голосов
/ 12 марта 2014

Я думаю, что вы ищете атрибут "clipToPadding" или метод setClipToPadding ():

<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="@dimen/your_bottom_padding"/>
1 голос
/ 04 декабря 2011

Для ваших нужд вам нужен еще один файл макета с двумя представлениями - ListView и представление для рекламы.Убедитесь, что вы используете идентификатор «@android: id / list» для просмотра списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...