2013-11-19 4 views
0

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

TextView myTv = new TextView(getActivity()); 
myTv.setText("No results"); 
RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(
     LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
param.addRule(RelativeLayout.CENTER_IN_PARENT, 0); 
myTv.setLayoutParams(param); 
myTv.setVisibility(View.GONE); 
((RelativeLayout) mScheduleListView.getParent()).addView(myTv, 0); 

mScheduleListView.setEmptyView(myTv); 

XML-макет для фрагмента держащего ListView выше выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<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" 
    tools:context=".ScheduleFragment" > 

    <ListView android:id="@+id/mScheduleListView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:padding="10dp" 
     android:divider="@null" 
     android:dividerHeight="10.0sp" /> 

</RelativeLayout> 

Формуляр шоу, но не в центре. Я понятия не имею, почему это не работает. Я попытался возиться с LayoutParams и изменить их на MATCH_PARENT, но, видимо, это не проблема.
Если да, то в чем проблема и как ее решить?

+1

вы хотите, чтобы показать "Нет результатов", когда список пуст ????? – Tejas

+0

Да. Он показывает «Нет результатов», но я хочу, чтобы он был центрирован. – Asaf

+1

Почему вы не создаете другой Textview в xml, который центрирован и отображает его, когда список пуст? – Tejas

ответ

1
android:layout_centerHorizontal="true" 
android:layout_centerVertical="true" 

писать этот код в ваш layout..It МАЕ работы ..

0

Решено!
По-видимому param.addRule(RelativeLayout.CENTER_IN_PARENT, -1) работ.
Благодарим за документацию. Я понял, что значение для true равно -1.
Все решения, которые я читал о центрировании вида, предлагаемого true, были фактически 0 (для метода addRule).

2

Набор Textview силы тяжести в центре

Помощь Код:

myTv.setGravity(Gravity.CENTER); 
Смежные вопросы