Merhaba arkadaşlar yukarıda bir sliding gallery aşağıda bir listview var ben örnek olarak habertürk android uygulamasındaki gibi ekranı komple aşağı inecek şekilde yapmak istiyorum. fakat layoutu scrollview içine alınca bütün viewler kayıyor yada sıkışıyor bunun dışında birde layoutun içine bir tane daha layout koydum nu sefer içerideki layoutu scrollview içine aldım sonuç gene aynı . ne kadar uğraştıysam yapamadım. layoutun görüntüsünü bozmadan nasıl ekranı komple aşağı inecek şekilde tasarlayabilirim. bunu istememmin sebeki hem kullanıcı aşağıya indiğinde listview daha çok gözüksün hemde yukarıdan aşağı öekip sayfa yenileme özelliği ekliyeyim. şimdiden teşekkür ederim.

soruldu: 26 Kas '14, 23:59

binary's gravatar image

binary
256192531
cevap kabul oranı: 0%


@binary, listview kullanmamak gerekicek. Çünkü listede kendi içerisinde scroll oluyor. Tanımlı olduğu bölgede scroll olacak. Burda lineerLayout 'a addview yaparak ilerleyebilirsin, liste asağıya çekildiğinde pullToRefresh yerine support library ile gelen SwipeRefreshLayout tercih edebilirsin. Bu view 'i root olarak kullanman gerekiyor.

permanent link

cevaplandı: 27 Kas '14, 03:41

semihozkoroglu's gravatar image

semihozkoroglu
22634
cevap kabul oranı: 25%

ListView'in kendi içerisinde scroll özelliği bulunduğu için ekstra bir scroll eklememelisin. Eğer eklemek istiyorsan listview'in height'ını hesaplayıp onun kadar scroll edilmesini sağlayabilirsin(Total height of listview şeklinde aratabilirsin). Bir tavsiyem daha var. Eğer listview'in height'ını doğru olarak hesaplayamazsan (ben daha önce böyle bir problemle karşılaşmıştım. Layout içerisindeki margin, padding vb. boşlukları da hesaplamaya dahil ettiğim halde bir türlü listview'in height'ını doğru hesaplayamadım.) bir tane view oluşturup ve elideki listenin size'i kadar addView yapabilirsin. Burada bir örnek var. İnceleyebilirsin.

permanent link

cevaplandı: 27 Kas '14, 02:51

mc44's gravatar image

mc44
1.1k222732
cevap kabul oranı: 42%

Linkteki kodları inceler misiniz? http://www.londatiga.net/it/programming/android/make-android-listview-gridview-expandable-inside-scrollview/

ExpandableHeightListView sınıfı işinizi görecektir. Görmediği taktirde biraz daha kod eklerseniz yardımcı olabilirim. Bu sınıfı daha önce HaberTürk'e benzer bir projede kullandım.

Düzenleme: Verdiğiniz xml koduna göre şöyle birşey yazdım(BTSoru görünümü hoş değil linki burda:http://pastebin.com/CFuK7rJR): <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">

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="top" 
    android:fillViewport="true">

    <RelativeLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/imageLayout"
        android:weightSum="1"
        android:background="#ffffffff"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true">

        <view
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            class="rdr.android.com.adapters.GalleryCustom"
            android:id="@+id/thisgallery"
            android:layout_gravity="center_horizontal"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_above="@+id/imageLayout1" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:id="@+id/imageLayout1"
            android:gravity="center_horizontal|center_vertical"
            android:orientation="horizontal"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:background="#80000000">

        </LinearLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/title"
            android:layout_above="@+id/imageLayout1"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:textSize="20dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:background="#80000000"
            android:textColor="#ffffffff" />

        <ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/pbar"
            android:indeterminateDrawable="@drawable/ic_launcher"
            android:visibility="invisible"
            android:max="100"
            android:progress="25"
            android:indeterminate="false"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="97dp" />

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/news_image"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignBottom="@+id/imageLayout1" />

        <com.aligungor.listinsidescroll.ExpandableHeightListView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/exlist"
            android:layout_below="@+id/imageLayout1"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            android:background="#ff8f150e" />

    </RelativeLayout>

</ScrollView>
</relativelayout>

Fragment içinde kullanmak için Java kodu(Link:http://pastebin.com/vatcMs2B):

    //Fragment görüntü nesnesi
    View fragmentView = inflater.inflate(R.layout.fragment_main, container, false);
    //Adapter oluşturma tanımlama ve diğer işlemler...
    ExpandableHeightListView listView = (ExpandableHeightListView) fragmentView.findViewById(R.id.exlist);
    listView.setExpanded(true);
    //İşlemler...
permanent link

cevaplandı: 27 Kas '14, 02:55

AliGungor's gravatar image

AliGungor
22616
cevap kabul oranı: 10%

değiştirildi: 27 Kas '14, 04:16

kodu ekledim bunu kendi listviewvime nasıl adapte edicem ordaki şekilde yapınca listeye dizmiyor bu şekilde yapınca hata veriyor. ExpandableHeightListView exlist=(ExpandableHeightListView)rootView.findViewById(R.id.newsListview);

(27 Kas '14, 03:20) binary binary's gravatar image
1

Layout'un xml dosyasında ListView yerine bu sınıfı kullanmalısınız. com.proje.ExpandableHeightListView şekilde. Daha sonra yazdığınız gibi tanımlama yapabilirsiniz.

(27 Kas '14, 03:26) AliGungor AliGungor's gravatar image

gene olmadı hata felan yokta liste yüklenmiyor. fragment içinde şöyle kullanıyorum. ExpandableHeightListView exlist=new ExpandableHeightListView(getActivity().getApplicationContext()); exlist.setAdapter(newsListAdapter); exlist.setExpanded(true);

(27 Kas '14, 03:33) binary binary's gravatar image

Sonra bu exlist'i fragment'in view nesnesine ekleyiniz. Fragment ve Layout kodlarını paylaşma imkanınız varsa daha net cevap verebilirim.

(27 Kas '14, 03:40) AliGungor AliGungor's gravatar image

ExpandableHeightListView exlist=(ExpandableHeightListView)rootView.findViewById(R.id.exlist); exlist.setAdapter(newsListAdapter); exlist.setExpanded(true); böyle yapınca olduda buseferde diğer viewleri de kapladı.

(27 Kas '14, 03:56) binary binary's gravatar image

Eklediklerimi bir inceleyin olmadı akşam bir proje yapıp buraya da linkini vereceğim. Eğer başarabilirseniz yazdığınız xml dosyasını sorunuza ekleyin ki diğer kullanıcılarda faydalabilsinler.

(27 Kas '14, 04:20) AliGungor AliGungor's gravatar image
6 yorumdan 5 tanesi gösteriliyor hepsini göster

Layoutu şu şekilde scrollview içine aldım bu seferde liste aşağıya inmiyor.

<scrollview xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="top" android:fillviewport="true">

</scrollview> not Relative layout yada hangi layout kullanısanız layouttaki xmlns:android="http://schemas.android.com/apk/res/android" özelliğini kaldırın sadece scrollviewde o özellik olsun.

permanent link

cevaplandı: 27 Kas '14, 02:56

binary's gravatar image

binary
256192531
cevap kabul oranı: 0%

<?xml version="1.0" encoding="utf-8"?>
<scrollview xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="top" android:fillviewport="true">
    <RelativeLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/imageLayout"
        android:weightSum="1"
        android:background="#ffffffff"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true">

        <view
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            class="rdr.android.com.adapters.GalleryCustom"
            android:id="@+id/thisgallery"
            android:layout_gravity="center_horizontal"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_above="@+id/imageLayout1" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:id="@+id/imageLayout1"
            android:gravity="center_horizontal|center_vertical"
            android:orientation="horizontal"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:background="#80000000">

        </LinearLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/title"
            android:layout_above="@+id/imageLayout1"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:textSize="20dp"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:background="#80000000"
            android:textColor="#ffffffff" />

        <ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/pbar"
            android:indeterminateDrawable="@drawable/my_progressbar"
            android:visibility="invisible"
            android:max="100"
            android:progress="25"
            android:indeterminate="false"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="97dp" />

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/news_image"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignBottom="@+id/imageLayout1" />

        <view
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            class="rdr.android.com.news.Data.ExpandableHeightListView"
            android:id="@+id/exlist"
            android:layout_below="@+id/imageLayout1"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            android:background="#ff8f150e" />

    </RelativeLayout>

</ScrollView>

isterseniz adaptörüde atayım

permanent link

cevaplandı: 27 Kas '14, 03:48

binary's gravatar image

binary
256192531
cevap kabul oranı: 0%

Bu gönderdiğin layout 'un oluşturduğu ekranıda ekleyebilirmisin ?, ek olarak yapmak istediğin ekran nasıl bir görsel, şuanda bu layout kayık çıkıyor doğru dimi ?

(27 Kas '14, 04:17) semihozkoroglu semihozkoroglu's gravatar image

gördüğüm bir durumu söylim, thisgallery ve title view 'leri imageLayout1 'un üstünde tanımlanmış ama bunlar birbirine göre hizalanmamış

(27 Kas '14, 04:20) semihozkoroglu semihozkoroglu's gravatar image

alt text

@semihozkoroglu görüntü böylede listeye 3ten fazla item gelince ekranı kaplıyor bu sefer yani ekranda sadece liste kalıyor

alt text

normalde yukarıda galeri var ve içi dolu ondanda resim ve yazıvar

permanent link

cevaplandı: 27 Kas '14, 04:30

binary's gravatar image

binary
256192531
cevap kabul oranı: 0%

@binary, istersen adım adım ilerleyelim, önce gallery view 'i yerleştirip, altına listview 'i koyarsak

<view
             android:id="@+id/thisgallery"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             class="rdr.android.com.adapters.GalleryCustom"
             android:layout_alignParentTop="true"
             android:layout_above="@+id/imageLayout1"
 />

<LinearLayout
             android:layout_width="match_parent"
             android:id="@+id/imageLayout1"
             android:orientation="horizontal"
             android:layout_below="@+id/thisgallery"
             android:layout_height="wrap_content"
             android:background="#80000000">

         </LinearLayout>

<view
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             class="rdr.android.com.news.Data.ExpandableHeightListView"
             android:id="@+id/exlist"
             android:layout_below="@+id/imageLayout1"
             android:layout_alignParentBottom="true"
             android:background="#ff8f150e" />

Burma title , news_image, pbar 'ı , imageLayout1 mi eklemeyi düşünüyosun ?

Yani yapı şu şekilde mi olacak;

En üstte gallery, altında liste ve ortada lineerLayout olacak, Lineer layout içerisinde progressBar, title ve news_image view'leri ?

bu gönderdiğimde bir tek lineer layout içerisi boş durumda, title , news_image, pbar 'ı bu layout içerisine ekle istersen, bunların ekranda nereye geleceğini anlayamadığım için yerleştiremedim

permanent link

cevaplandı: 27 Kas '14, 04:53

semihozkoroglu's gravatar image

semihozkoroglu
22634
cevap kabul oranı: 25%

değiştirildi: 27 Kas '14, 04:55

@semihozkoroglu,news image ,linearlayout yukraıda tam altında image layout1 var onun altında kalan kısımdada liste var pbarın pek önemi yok onu sonrada ayarlarım.

(27 Kas '14, 04:58) binary binary's gravatar image

alt text

@semihozkoroglu,normalde böyle olacak ama listeye 3 ten fazla item eklenince liste ekranı kaplıyor .normalde liste aşağıda okadar gözükecek sonra aşağıya çekince galeri yukarıda kalacak listeye inecek artık liste ne kadar uzunsa.

permanent link

cevaplandı: 27 Kas '14, 05:11

binary's gravatar image

binary
256192531
cevap kabul oranı: 0%

@binary, tamam benim gönderdiğim hiyerarşi de yaparsan, listview 'in konumu static olarak kalacak, yani yukardaki ekran gibi en fazla 3 row görünür. Burda takıldığın noktayı anlayamadım. Senin ilk gönderdiğin layout'da view 'ler üst üste geliyordu. Benim sonradan attığım layout da galery en üste sabit kalacak, altında bir lineer layout olacak, bunun içerisine sen gerekli viewleri yerleştirirsin. En alttada listview olmuş olacak. Benim anlayamadığım başka bir durum mu var acaba?

(27 Kas '14, 06:26) semihozkoroglu semihozkoroglu's gravatar image

ben iyi anlatamadım galiba. android telefonunuz varsa haberttürk uygulaması yükleyip ana sayfaya bir bakarmısınız aynı onun gibi olmasını istiyorum.

(27 Kas '14, 06:41) binary binary's gravatar image

benim listeyle galeri farklı olduğu için sadece liste aşağıya iniyor galery gene olduğu yerde kalıyor. ben hepsinin çektikçe yukarı gitmesini istiyorum.

(27 Kas '14, 06:44) binary binary's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×819
×7
×2

Soruldu: 26 Kas '14, 23:59

Görüntüleme: 761 kez

Son güncelleme: 27 Kas '14, 06:44

powered by BitNami OSQA