2014-10-01 3 views
0

У меня есть макет что-то вроде этого:Android Scrollview съедает добавлены макеты

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_marginBottom="10dp" 
    android:background="#ff303f" 
    android:id="@+id/layout"> 
    <ImageView 
     android:id="@+id/picture" 
     android:layout_width="300dp" 
     android:layout_height="300dp" 
     android:layout_centerInParent="true"/> 
    <Button 
     android:id="@+id/cancel" 
     android:layout_width="45dp" 
     android:layout_height="45dp" 
     android:layout_alignRight="@id/picture" 
     android:background="@drawable/cross_out"/> 
</RelativeLayout> 

Я надуть его, используя обычную службу макет газогенератора, настроить некоторые функции для кнопки и изображение в ImageView (все изображения имеют одинаковый размер и соотношение сторон).

После этого я добавляю этот вид к макету моего фрагмента, который является ничем иным, как ScrollView, который является родительским, имеет дочерний линейный макет, который я называю «map» и просто добавляю его на карту.

Ожидаемые: добавленные макеты должны быть добавлены правильно, и я могу прокручивать их. Фактически: если добавлено более 2, первый из них съедается. Я вижу это наполовину или иногда полностью съедается. : \

Любая идея, что происходит здесь? Большое спасибо за ваше время.

EDIT: Вот файл макета добавить надутый макет в:

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/scrollView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#f6ff45"> 
     <LinearLayout 
      android:id="@+id/map" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="#43ff44" 
      android:orientation="vertical" 
      android:layout_margin="10dp" 
      android:layout_gravity="center" 
      android:layout_marginTop="15dp"> 

</LinearLayout> 
</ScrollView> 

я забыл упомянуть, что после добавления 3 или более из этих макетов, я понял, что это ненужное пустое пространство, в конце концов. : \

+0

Можете ли вы предоставить код, где вы на самом деле добавить мнение? И ListView может быть более эффективным, если вы добавляете много одинаковых представлений в ScrollView. – dharms

+0

Нужно посмотреть, как вы добавляете представления в код. – uDevel

ответ

0

попытка определить Scrollview из Java кода, как

//Initialize the TextView for vertical scrolling 
    output = (TextView) findViewById(R.id.textView); 
    output.setMovementMethod(new ScrollingMovementMethod()); 
+0

Его макет, который я раздуваю. Должен ли я находить каждый отдельный вид внутри этого макета и setMovementMethod им? –

+0

Я думаю, что вы неправильно поняли мой вопрос, в этом нет текстового представления. Макеты, которые я добавляю (который представляет собой комбинацию изображений и кнопок), начинают перемещаться над просмотром прокрутки, например, scrollview kinda ест его. –

+0

oh sorry.but вы можете попробовать установить метод перемещения для них yes.let me know if it works – gas