Android ListView padding не работает для полосы прокрутки?
Я занимаюсь разработкой игры для Android и в виде экрана лобби с комнатами, у меня есть весь контент экрана внутри гигантского свитка. Вот изображение этого: http://postimg.org/image/s64pzkxkz/
Проблема в том, что: хотя я помещаю android:paddingBottom="40sp" в ListView(чтобы он был немного выше нижней части гигантской прокрутки), связанная с ним полоса прокрутки перекрывает гигантскую прокрутку. Есть гигантская серая линия, которая касается нижней части свитка... Это моя полоса прокрутки.
Вот код:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/idqualquersotestarlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="@drawable/background_popups_modo_casual" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tituloCasual"
android:background="@drawable/plaquinha_treinamento"
android:layout_centerHorizontal="true"
android:gravity="center" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40sp"
android:singleLine="true"
android:layout_marginTop="20sp"
android:text="@string/modo_casual"
android:id="@+id/textoTituloCasual"/>
</LinearLayout>
<ImageView
android:id="@+id/cordasPlacaCasual"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tituloCasual"
android:layout_centerHorizontal="true"
android:src="@drawable/cordas_placa_treinamento"
android:layout_marginTop="-5sp" />
<RelativeLayout
android:id="@+id/pergaminho"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/cordasPlacaCasual"
android:layout_marginTop="-60sp"
android:background="@drawable/pergaminho" >
<Button
android:id="@+id/botaoReload"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/botaoCriarNovaSala"
android:layout_toRightOf="@+id/botaoCriarNovaSala"
android:text="@string/recarregar"
android:onClick="recarregarSalas" />
<RelativeLayout
android:id="@+id/spinnerELabelPesquisarSalas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="110sp"
android:layout_centerHorizontal="true" >
<TextView
android:id="@+id/labelPesquisarSalas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="28dp"
android:text="@string/pesquisar_salas_por"
android:layout_centerVertical="true"
android:textSize="20sp"/>
<Spinner
android:id="@+id/spinnerPesquisarSalasModoCasual"
android:layout_width="200sp"
android:layout_height="50sp"
android:layout_toRightOf="@id/labelPesquisarSalas"
android:layout_alignTop="@+id/labelPesquisarSalas"/>
</RelativeLayout>
<TextView android:id="@+id/alerta_salas_novas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/alerta_novas_salas_criadas"
android:layout_below="@+id/botaoCriarNovaSala"
android:textSize="17sp"
android:layout_marginLeft="28dp"
android:layout_marginTop="30dp"
android:visibility="invisible" />
<LinearLayout
android:id="@+id/cabecalho_tabela_listar_salas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/alerta_salas_novas"
android:layout_marginTop="5dp"
android:background="@drawable/red_header"
android:layout_alignLeft="@+id/lista_salas_abertas"
android:layout_alignRight="@+id/lista_salas_abertas" >
<TextView
android:id="@+id/label_titulo_do_jogador"
android:layout_width="0px"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:text="@string/dan"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/label_titulo_username"
android:layout_width="0px"
android:layout_weight="3"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:text="@string/email"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/label_categorias_selecionadas"
android:layout_width="0px"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/categorias"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/label_entrar_na_sala"
android:layout_width="0px"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text=""
android:textColor="#FFFFFF" />
</LinearLayout>
<ListView
android:id="@+id/lista_salas_abertas"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/spinnerELabelPesquisarSalas"
android:layout_alignLeft="@+id/spinnerELabelPesquisarSalas"
android:layout_alignParentBottom="true"
android:paddingBottom="40sp"
android:layout_below="@+id/cabecalho_tabela_listar_salas"
android:fastScrollEnabled="true"
android:fastScrollAlwaysVisible="true"
android:scrollbarStyle="insideInset"
android:listSelector="@android:color/transparent" >
</ListView>
<Button
android:id="@+id/botaoCriarNovaSala"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/spinnerELabelPesquisarSalas"
android:layout_centerHorizontal="true"
android:onClick="abrirTelaCriarNovaSala"
android:text="@string/criar_nova_sala" />
</RelativeLayout>
Что я могу сделать, чтобы добавить отступы к полосе прокрутки?
1 ответ
Высота ListView - это сумма высот его дочерних элементов. Таким образом, отступы не будут влиять на список. Если вам нужна маржа, вы можете использовать marginBottom.
Но если вам нужен пробел внутри списка, вам придется добавить его к последнему дочернему элементу списка. Сын в методе getView адаптера listView вам нужно добавить что-то вроде этого:
public View getView(int position, View convertView, ViewGroup parent) {
.
.
.
if(position == getCount() - 1){
view.setPadding(0, 0, 0, 40);
}
return view;
}