2014-08-31 3 views
0

У меня есть ListView и один элемент списка состоит из двух и ImageView TextView в (фактическое изображение загружается с сервера с помощью библиотеки ION). Я хочу поместить ровно 3 элемента списка на экране, но поскольку разрешение экрана варьируется, я не могу сделать это просто с настройкой высоты элемента.Как установить список высоту элемента в соответствии с разрешением дисплея

Что я попытался это:

vi_params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, (int)(MainActivity.screenHeight*0.33)); 
userImage.setLayoutParams(vi_params); 

Но это дает события другой результат - изображение не отображается на всех.

Как выглядит мой list_item.xml.

<RelativeLayout 
    android:id="@+id/widget32" 
    android:layout_width="fill_parent" 
    android:layout_height="110dp" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_x="0dp" 

    android:layout_y="0dp"> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="fill_parent" 
     android:layout_height="260dp" 
     android:layout_x="0dp" 
     android:layout_y="0dp" 

     android:scaleType="fitXY" 
     android:src="@drawable/ic_launcher" /> 
    <TextView 
     android:id="@+id/ID" 
      android:layout_width="320dp" 
    android:layout_height="wrap_content" 
    android:visibility="invisible"/> 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="10dp" 
    android:layout_marginTop="10dp" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_marginBottom="10dp" 
    android:layout_marginRight="10dp" 
    android:text="TextView" /> 

</RelativeLayout> 

Итак, любые идеи, как сделать высоту списка элементов в зависимости от высоты экрана, так что только три будут соответствовать?

ответ

1

Так же, как я думал, умножение числа на 0,33 возвращал 0, так что я использовал DIVISION:. «userImage.getLayoutParams() высота = MainActivity.height/3;

В любом случае, я до сих пор не» т получить желаемый результат, потому что ActionBar все еще имеет место

так я только что получил его:.

TypedValue tv = new TypedValue(); 
     if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) 
     { 
      actionbarheight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics()); 
     } 

И еще он не был совершенным, поэтому я получил себе высоту заголовка:

public int getStatusBarHeight() { 
      int result = 0; 
      int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android"); 
      if (resourceId > 0) { 
       result = getResources().getDimensionPixelSize(resourceId); 
      } 
      return result; 
    } 
Смежные вопросы