2016-04-08 34 views
0

Bakın, bunun bir scrollview görünümünde liste görünümü koymanın kötü bir fikir olduğunu biliyorum, ama bir sebepten dolayı bunu yapmak zorundayım. BuListView scrollview öğesi wrap_content olarak ayarlanmadı

sorun belirlemeyeceğinden olmasıdır içinde

bir Scrollview içinde 3 fragmanları,

<scrollview> 
    <framelayout></framelayout> -> each framelayout is fragment container 
    <framelayout></framelayout> 
    <framelayout></framelayout> 
<scrollview> 

I şişirmek birinci parçası ile bir görünümü, bir liste görünümü içerir 'a framelayout yüksekliğini ayarlamış olsam bile, dinamik olarak yüksekliğini ayarlayın. Görünümün tamamlanmasından sonra yüksekliği manuel olarak ayarlamak zorundayım, ardından içeriğin yüksekliğini hesaplar ..

Benim sorum, parçanın içindeki liste görünümünün wrap_parent olarak ayarlanmasını sağlamak için bir yol var mı? Bağdaştırıcı listview içindeki her seferinde yüksekliği manuel olarak hesaplamak zorunda mı?

+0

neden aint içlerinde bir liste görünümü gömme durumu idare görüşlerini kaydırmak özel kullanabilir? –

cevap

1

yeni bir özel Görünüm ListView uzanır yazma ve bunun gibi onMeasure() metodunu geçersiz kılabilirsiniz:

protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec (Tamsayı. MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure (widthMeasureSpec, expandSpec); }