2013-03-21 2 views
0

Я добавляю представление изображения к линейной компоновке, затем линейный макет добавляется в прокрутку. Я показываю вид прокрутки с помощью диспетчера окон, потому что все это происходит из службы. Я вижу полосу прокрутки, и когда я перетягиваю вверх и вниз, полоса прокрутки перемещается, но изображения не видят.Прокрутка без прокрутки

Вот мой код:

// define the two views 
    scroll = new ScrollView(this); 
    trayAppList = new LinearLayout(this); 

//define basic layout properties 
trayAppList.setOrientation(LinearLayout.VERTICAL); 
     width = 50; 
     height = display.getHeight(); 

     // shortcut list container 
     lstParams = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.FILL_PARENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, PixelFormat.TRANSLUCENT); 
     lstParams.gravity = dockLocation; 
     scroll.setLayoutParams(new android.view.ViewGroup.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, height)); 

//define window manager 
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); 

//now display views 

    scroll.setScrollContainer(true); 
scroll.addView(trayAppList); 
wm.addView(scroll, lstParams); 

ответ

0

Вы можете попробовать его, как показано ниже:

ScrollView scroll = new ScrollView(context); 
scroll.setBackgroundColor(android.R.color.transparent); 
scroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); 
scroll.addView(yourTableView); 
+0

Пытался что FILL_PARENT не имеет никакого значения, просто переместить вид прокрутки в верхней части экрана – user1056798

0

У вас есть высота починки для trayAppList линейной компоновки, а также для «прокрутки» Scrollview. Таким образом, ScrollView не может прокручиваться.

Сделайте свой ScrollView FILL_PARENT и убедитесь, что содержимое в макете прокрутки превышает экран, после чего вы сможете прокручивать.

+0

опробованы FILL_PARENT, по-прежнему полосы прокрутки перемещается но изображения остаются в одном месте – user1056798

+0

Вы объявили изображение в линейной компоновке ..? –

+0

Да все мои изображения все отображаются, все они добавлены в линейную компоновку, но не будут прокручиваться, но перемещение полосы прокрутки – user1056798

0

Поместите свою схему прокрутки внутри линейного макета.

info_content_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/container" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@android:color/transparent"> 

    <ScrollView 
     android:id="@+id/scroll" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <LinearLayout 
      android:id="@+id/list" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 

     </LinearLayout> 

    </ScrollView> 

</LinearLayout> 

Код

LinearLayout container = (LinearLayout) LayoutInflater.from(getApplicationContext()).inflate(R.layout.info_content_layout, null); 
WindowManager.LayoutParams containerParams = new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT,WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.TYPE_PHONE,WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,PixelFormat.TRANSLUCENT); 
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); 
wm.addView(container, containerParams); 

LinearLayout listContainer = (LinearLayout) container.findViewById(R.id.list); 
for(int x = 0 ; x <30 ; x++){ 
    View child = LayoutInflater.from(this).inflate(R.layout.list_item, null); 
    listContainer.addView(child); 
} 
Смежные вопросы