Android: Neden bir Görünüm için maxHeight yok?


184

Görünüm bir varminHeight ama bir şekilde eksik maxHeight:

Ne elde etmeye çalışıyorum bazı öğeleri (görüşlerini) dolduruyor bir ScrollView. 1..3 öğe olduğunda bunları doğrudan görüntülemek istiyorum. Yani ScrollView1, 2 veya 3 öğenin yüksekliğine sahiptir.

4 veya daha fazla öğe olduğunda ScrollView, genişlemeyi durdurmak (böylece a maxHeight) ve kaydırma sağlamaya başlamak istiyorum.

Ancak, maalesef a ayarlamanın bir yolu yoktur maxHeight. Bu yüzden muhtemelen 1..3 öğe olduğunda boyumu ScrollViewprogramlı olarak WRAP_CONTENTayarlamam ve 3*sizeOf(View)4 veya daha fazla öğe olduğunda yüksekliği ayarlamam gerekiyor .

maxHeightZaten olduğunda , kimse neden sağlanmadığını açıklayabilir minHeightmi?

(BTW: Bazı görünümler gibi ImageViewbir var maxHeightuygulanmaktadır.)


Ben diğer konuya bir çözüm gönderdim: stackoverflow.com/questions/18425758/…
JMPergar

2
Bunun için bir çözüm yarattım chintanrathod.com/…
Chintan Rathod

Google maxHeight'ı kaldırmak can sıkıcı ve zahmetli. Aynı sonucu elde etmek için şimdi yapmanız gereken her şeye bakın.
Ian Wambai

Yanıtlar:


86

Bu çözümlerin hiçbiri, wrap_content için ayarlanmış ancak maxHeight'a sahip bir ScrollView olan belirli bir noktadan sonra genişlemeyi durduracak ve kaydırmaya başlayacak olan ihtiyaç duyduğum şey için çalıştı. Ben sadece ScrollView onMeasure yönteminin üzerine atlattı.

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    heightMeasureSpec = MeasureSpec.makeMeasureSpec(300, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

Bu her durumda işe yaramayabilir, ancak kesinlikle düzenim için gerekli sonuçları verir. Ayrıca madhu'nun yorumuna da değiniyor.

Kaydırma görüntüsünün altında bir düzen varsa, bu hile işe yaramaz - madhu 5 Mar 4:36


1
Bu ne zaman işe yaramaz? Bu çok temiz bir çözüm gibi görünüyor. Neden xml içine uygulamadılar merak ediyor.
Christophe Smet

1
Yüksekliği el ile 240 olarak ayarlarsanız muhtemelen işe yaramaz. Ben yalnızca 1 belirli modu (wrap_content) desteklemem gerektiğinden scrollview'in modunu kontrol etmeyi zahmet etmedim.
whizzle

Bu cevap için 'kaydırma görüntüsünün altında bir düzen varsa, bu hile işe yaramaz' yazan bir düzenleme var, bu doğru değil. Sayfanın altına hizalanmış bir düzen var ve bu özel düzen her zaman özel düzeni alt düzenin üzerine yerleştirir "android: layout_above = '@ + ...'" vardır :)
Machine Tribe

70

Bir maxHeight oluşturmak ScrollViewveya ListViewbir maxHeight oluşturmak için, maxHeight'ın olmasını istediğiniz şeyin yüksekliğinde etrafında bir Saydam LinearLayout oluşturmanız yeterlidir. Daha sonra ScrollView Yüksekliğini olarak ayarlayın wrap_content. Bu, yüksekliği üst LinearLayout öğesine eşit olana kadar büyüyormuş gibi görünen bir ScrollView oluşturur.


3
Bu, içeriğin kayan bir iletişim kutusunun ekranın tam yüksekliğine genişlemesini önlemek için kullanışlıdır.
Kyle Ivey

Küçük öneri LinearLayout yerine bir FrameLayout kullanmak olurdu ama önemli olduğundan şüpheliyim.
Kyle Ivey


2
Lütfen biraz kod verebilir misiniz? benim için işe yaramadı, bu yüzden belki de yanlış bir şey yapıyorum ...
android geliştirici

altında düğmeler varsa çalışmaz. düğmeleri ekran dışına itecek
Li Tian Gong

43

Bu benim için xml özelleştirilebilir yapmak için çalıştı:

MaxHeightScrollView.java:

public class MaxHeightScrollView extends ScrollView {

private int maxHeight;
private final int defaultHeight = 200;

public MaxHeightScrollView(Context context) {
    super(context);
}

public MaxHeightScrollView(Context context, AttributeSet attrs) {
    super(context, attrs);
    if (!isInEditMode()) {
        init(context, attrs);
    }
}

public MaxHeightScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    if (!isInEditMode()) {
        init(context, attrs);
    }
}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public MaxHeightScrollView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
    super(context, attrs, defStyleAttr, defStyleRes);
    if (!isInEditMode()) {
        init(context, attrs);
    }
}

private void init(Context context, AttributeSet attrs) {
    if (attrs != null) {
        TypedArray styledAttrs = context.obtainStyledAttributes(attrs, R.styleable.MaxHeightScrollView);
        //200 is a defualt value
        maxHeight = styledAttrs.getDimensionPixelSize(R.styleable.MaxHeightScrollView_maxHeight, defaultHeight);

        styledAttrs.recycle();
    }
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST);
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}

attr.xml

<declare-styleable name="MaxHeightScrollView">
        <attr name="maxHeight" format="dimension" />
    </declare-styleable>

örnek düzen

<blah.blah.MaxHeightScrollView android:layout_weight="1"
                app:maxHeight="90dp"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content">
                <EditText android:id="@+id/commentField"
                    android:hint="Say Something"
                    android:background="#FFFFFF"
                    android:paddingLeft="8dp"
                    android:paddingRight="8dp"
                    android:gravity="center_vertical"
                    android:maxLines="500"
                    android:minHeight="36dp"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" />
            </blah.blah.MaxHeightScrollView>

Özel bir görünüm oluşturmak kesinlikle bunu başarmanın en iyi yoludur.
Bertram Gilfoyle

Kaydırma görünümünün altında düzeniniz varsa bu işe yarar! Mükemmel!
Ragaisis

26

(Bunun doğrudan soruyu yanıtlamadığını biliyorum, ancak maxHeight işlevselliği arayan başkalarına yardımcı olabilir)

ConstraintLayout, çocukları için maksimum yükseklik sunar

app:layout_constraintHeight_max="300dp"
app:layout_constrainedHeight="true" 

veya

app:layout_constraintWidth_max="300dp"
app:layout_constrainedWidth="true" 

Burada örnek kullanım .


2
Görünüm dikey bir zincirdeyse (ConstraintLayout belgelerinde belirtildiği gibi) bu
işe yaramaz

Bilgi için teşekkürler.
user1506104

8

Eğer yapabilirsem whizzle'ın cevabına yorum yapardım, ancak Android N'de çoklu pencere modu bağlamında bu sorunu çözebilmem için kodu biraz değiştirmem gerektiğine dikkat etmeliyim:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    if(MeasureSpec.getSize(heightMeasureSpec) > maxHeight) {
        heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST);
    }
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}

Bu, mizanpajın maksimum yükseklikten daha küçük olmasını sağlar, ancak maksimum yükseklikten daha büyük olmasını da önler. Bu, Geçersiz kılan bir düzen sınıfı kullandım RelativeLayoutve bu, özel bir iletişim kutusu oluşturmama izin verdi ScrollView, çünkü alt MaxHeightRelativeLayoutöğe ekranın tam yüksekliğini genişletmiyor ve aynı zamanda Android için çoklu pencerede en küçük dul boyutuna sığacak şekilde küçülüyor N.


4

MaxHeight'ı ayarlamanın bir yolu yoktur. Ancak Yüksekliği ayarlayabilirsiniz.

Bunu yapmak için scrollView öğesinin her öğesinin yüksekliğini bulmanız gerekir. Bundan sonra scrollView yüksekliğinizi numberOfItens * heightOfItem olarak ayarlayın.

Bir öğenin yüksekliğini bulmak için şunları yapın:

View item = adapter.getView(0, null, scrollView);
item.measure(0, 0);
int heightOfItem = item.getMeasuredHeight();

Yüksekliği ayarlamak için şunu yapın:

// if the scrollView already has a layoutParams:
scrollView.getLayoutParams().height = heightOfItem * numberOfItens;
// or
// if the layoutParams is null, then create a new one.
scrollView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, heightOfItem * numberOfItens));

4

Layout_height = "max_height" ile ScrollViewbir ova etrafında sarın LinearLayout, bu mükemmel bir iş yapacak. Aslında, bu kod sıfır 5 yıl son 5 yıldır üretim var.

<LinearLayout
        android:id="@+id/subsParent"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:gravity="bottom|center_horizontal"
        android:orientation="vertical">

        <ScrollView
            android:id="@+id/subsScroll"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:layout_marginEnd="15dp"
            android:layout_marginStart="15dp">

            <TextView
                android:id="@+id/subsTv"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/longText"
                android:visibility="visible" />

        </ScrollView>
    </LinearLayout>

1
Gerçekten mükemmel bir çözüm. Akıllı ve basit. Geri dönüşüm izleme için bile uygundur.
Alex Belets

3

Benim MaxHeightScrollViewözel görünüm

public class MaxHeightScrollView extends ScrollView {
    private int maxHeight;

    public MaxHeightScrollView(Context context) {
        this(context, null);
    }

    public MaxHeightScrollView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public MaxHeightScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context, attrs);
    }

    private void init(Context context, AttributeSet attrs) {
        TypedArray styledAttrs =
                context.obtainStyledAttributes(attrs, R.styleable.MaxHeightScrollView);
        try {
            maxHeight = styledAttrs.getDimensionPixelSize(R.styleable.MaxHeightScrollView_mhs_maxHeight, 0);
        } finally {
            styledAttrs.recycle();
        }
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        if (maxHeight > 0) {
            heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST);
        }
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}

style.xml

<declare-styleable name="MaxHeightScrollView">
    <attr name="mhs_maxHeight" format="dimension" />
</declare-styleable>

kullanma

<....MaxHeightScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:mhs_maxHeight="100dp"
    >

    ...

</....MaxHeightScrollView>

2

Burada bir cevabım var:

https://stackoverflow.com/a/29178364/1148784

Sadece ScrollView'ı genişleten yeni bir sınıf oluşturun ve onMeasureyöntemini geçersiz kılın .

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        if (maxHeight > 0){
            int hSize = MeasureSpec.getSize(heightMeasureSpec);
            int hMode = MeasureSpec.getMode(heightMeasureSpec);

            switch (hMode){
                case MeasureSpec.AT_MOST:
                    heightMeasureSpec = MeasureSpec.makeMeasureSpec(Math.min(hSize, maxHeight), MeasureSpec.AT_MOST);
                    break;
                case MeasureSpec.UNSPECIFIED:
                    heightMeasureSpec = MeasureSpec.makeMeasureSpec(maxHeight, MeasureSpec.AT_MOST);
                    break;
                case MeasureSpec.EXACTLY:
                    heightMeasureSpec = MeasureSpec.makeMeasureSpec(Math.min(hSize, maxHeight), MeasureSpec.EXACTLY);
                    break;
            }
        }

        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }

2

Yukarıda belirtildiği gibi, ConstraintLayout çocukları için maksimum yükseklik sunar:

app:layout_constraintHeight_max="300dp"
app:layout_constrainedHeight="true"

Ayrıca, bir ConstraintLayout'un çocuğu için maksimum yükseklik Uygulama çalışana kadar belirsizse, dikey zincirin neresine yerleştirilirse yerleştirilsin bu çocuğun otomatik olarak değişebilir bir yüksekliğe uyum sağlamasının bir yolu vardır.

Örneğin, değiştirilebilir bir üstbilgi TextView, değiştirilebilir bir ScrollView ve değiştirilebilir bir altbilgi TextView içeren bir alt iletişim kutusu göstermemiz gerekir. Toplam yükseklik 320dp'ye ulaşmadığında iletişim kutusunun maksimum yüksekliği 320dp , ScrollView, toplam yükseklik aşıldığında ScrollView "maxHeight = 320dp - başlık yüksekliği - altbilgi yüksekliği" olarak hareket eder.

Bunu sadece xml mizanpaj dosyası ile başarabiliriz:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="320dp">

    <TextView
        android:id="@+id/tv_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/black_10"
        android:gravity="center"
        android:padding="10dp"
        app:layout_constraintBottom_toTopOf="@id/scroll_view"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="1"
        app:layout_constraintVertical_chainStyle="packed"
        tools:text="header" />

    <ScrollView
        android:id="@+id/scroll_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/black_30"
        app:layout_constrainedHeight="true"
        app:layout_constraintBottom_toTopOf="@id/tv_footer"
        app:layout_constraintHeight_max="300dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/tv_header">

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

            <TextView
                android:id="@+id/tv_sub1"
                android:layout_width="match_parent"
                android:layout_height="160dp"
                android:gravity="center"
                android:textColor="@color/orange_light"
                tools:text="sub1" />

            <TextView
                android:id="@+id/tv_sub2"
                android:layout_width="match_parent"
                android:layout_height="160dp"
                android:gravity="center"
                android:textColor="@color/orange_light"
                tools:text="sub2" />

        </LinearLayout>
    </ScrollView>

    <TextView
        android:id="@+id/tv_footer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/black_50"
        android:gravity="center"
        android:padding="10dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/scroll_view"
        tools:text="footer" />
</android.support.constraint.ConstraintLayout>

Çoğu ithalat kodu kısadır:

app:layout_constraintVertical_bias="1"
app:layout_constraintVertical_chainStyle="packed"

app:layout_constrainedHeight="true"

Yatay maxWidth kullanımı oldukça aynıdır.


1

Layout_weight değerini kullanmayı denediniz mi? Birini 0'dan büyük bir değere ayarlarsanız, bu görünüm kullanılabilir kalan alana genişletilir.

Uzatılması gereken birden fazla görünümünüz varsa, değer aralarında ağırlık olur.

Bu nedenle, her ikisi de 1 layout_weight değerine ayarlanmış iki görünümünüz varsa, her ikisi de alanı doldurmak için gerilir, ancak her ikisi de eşit miktarda boşluğa uzanır. Bunlardan birini 2 değerine ayarlarsanız, diğer görünümün iki katı kadar uzanır.

Burada daha fazla bilgi Doğrusal Düzen altında listelenmiştir.


1
Ağırlıklardaki sorun göreli olmalarıdır. Farklı ekran boyutları, farklı sonuçlar, örneğin 800 piksel ekran ile belirli bir değere ağırlık ayarlayabilirim, böylece belirli bir alan istenen 200 piksel ile sonuçlanır. Bununla birlikte, 850 piksel ekranla, spesifik alan 200 pikselden daha büyük olur, ancak ekteki elemanlar hala sadece 200 pikseldir. Bu yüzden maxHeightbelirli bir dip değerine ayarlayabildiğim bir tane olmasını tercih ettim. (Sonunda programlı olarak hesaplamak ve yükseklikleri ayarlamak için sona erdi)
znq

1

Ben sadece 1 öğe için çalışma zamanında heiht ayarlayabilirsiniz, 3 veya daha fazla scrollView.setHeight(200px)için 2 öğe scrollView.setheight(400px)için düşünüyorumscrollView.setHeight(600px)


8
Boyutu 'px' olarak ayarlamak istemezsiniz. İstediğiniz sonucu birden fazla Cihazda almamanız muhtemeldir. developer.android.com/guide/topics/resources/…
Hernd DerBeld

@HerndDerBeld kodda böyle çalışır. dilerseniz DP'den piksele her zaman kolayca dönüştürebilirsiniz: float pixels = TypedValue.applyDimension (TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources () .getDisplayMetrics ());
android geliştirici

1

Bildiğimiz gibi android çalıştıran cihazların farklı ekran boyutları olabilir. Bildiğimiz gibi, görünümler dinamik olarak ayarlanmalı ve uygun alan haline gelmelidir.

Maksimum yükseklik ayarlarsanız, görünümü yeterli alan elde etmemeye veya daha az alana gitmeye zorlayabilirsiniz. Bazen maksimum bir yükseklik ayarlamak pratik gibi görünüyor. Ancak çözünürlük önemli ölçüde değişecekse ve değişecekse!, Maksimum yüksekliğe sahip görünüm uygun görünmeyecektir.

tam olarak istediğiniz düzeni yapmak için uygun bir yol olmadığını düşünüyorum. Düzen yöneticileri ve göreli mekanizmalar kullanarak düzeninizi düşünmenizi tavsiye ederim. ne elde etmeye çalıştığınızı bilmiyorum ama bir liste sadece üç öğe göstermek gerekir ve sonra kullanıcı kaydırmak zorunda biraz garip geliyor.

Btw. minHeight garanti edilmez (ve belki de mevcut olmamalıdır). diğer göreceli öğeler küçüldükçe öğeleri görünür olmaya zorlamak bazı faydalar sağlayabilir.


6
Bu yanlış. Bu mantıkla, android: layout_width = "500dp" diyemezsiniz.
Glenn Maynard

Ne mantıksal yorumunuzda neyin yanlış olması gerektiğini anlamıyorum. Layout_width (bazen tamam) ayarlarsanız, bunu alacağınız garanti edilmez. 500dp belki uygun bir cihaza bakar, diğerine bakmaz. Düzen yöneticileri ftw! Belki daha aşağı bcs aşağı oy rahatsız :) açıklayabilir
Diego Frehner

3
Android demek için geçerli: maxWidth = "500dp" android demek için: layout_width = "500dp". Her ikisi de görünümdeki belirli boyutları zorlar.
Glenn Maynard

1

Birisi LayoutParams için kesin değeri kullanmayı düşünüyorsa, ör.

setLayoutParams(new LayoutParams(Y, X );

Cihaz ekranının yoğunluğunu dikkate almayı unutmayın, aksi takdirde farklı cihazlarda çok garip davranabilirsiniz. Örneğin:

Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics d = new DisplayMetrics();
display.getMetrics(d);
setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, (int)(50*d.density) ));

0

İlk olarak öğe yüksekliğini piksel olarak alın

View rowItem = adapter.getView(0, null, scrollView);   
rowItem.measure(0, 0);    
int heightOfItem = rowItem.getMeasuredHeight();

o zaman basitçe

Display display = getWindowManager().getDefaultDisplay();    
DisplayMetrics displayMetrics = new DisplayMetrics();    
display.getMetrics(displayMetrics);    
scrollView.getLayoutParams().height = (int)((heightOfItem * 3)*displayMetrics .density);

0

taşma olmayan bir kaydırma veya liste görünümü yapmak istiyorsanız, bunun için üstte ve altta üst görünüm ve alt görünüm bulunan bir RelativeLayout'ta:

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/topview"
    android:layout_below="@+id/bottomview" >

Bunun için daha fazla kredi gerekiyor. Özel ama basit uygulama.
Luke Allison

0

Kotlin'de kullanılan özel bir ScrollView kullandım maxHeight. Kullanım örneği:

<com.antena3.atresplayer.tv.ui.widget.ScrollViewWithMaxHeight
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:maxHeight="100dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
</com.antena3.atresplayer.tv.ui.widget.ScrollViewWithMaxHeight>

İşte kodu ScrollViewWidthMaxHeight:

import android.content.Context
import android.util.AttributeSet
import android.widget.ScrollView
import timber.log.Timber

class ScrollViewWithMaxHeight @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0
) : ScrollView(context, attrs, defStyleAttr) {

companion object {
    var WITHOUT_MAX_HEIGHT_VALUE = -1
}

private var maxHeight = WITHOUT_MAX_HEIGHT_VALUE

init {
    val a = context.obtainStyledAttributes(
        attrs, R.styleable.ScrollViewWithMaxHeight,
        defStyleAttr, 0
    )
    try {
        maxHeight = a.getDimension(
            R.styleable.ScrollViewWithMaxHeight_android_maxHeight,
            WITHOUT_MAX_HEIGHT_VALUE.toFloat()
        ).toInt()
    } finally {
        a.recycle()
    }
}

override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
    var heightMeasure = heightMeasureSpec
    try {
        var heightSize = MeasureSpec.getSize(heightMeasureSpec)
        if (maxHeight != WITHOUT_MAX_HEIGHT_VALUE) {
            heightSize = maxHeight
            heightMeasure = MeasureSpec.makeMeasureSpec(heightSize, MeasureSpec.AT_MOST)
        } else {
            heightMeasure = MeasureSpec.makeMeasureSpec(heightSize, MeasureSpec.UNSPECIFIED)
        }
        layoutParams.height = heightSize
    } catch (e: Exception) {
        Timber.e(e, "Error forcing height")
    } finally {
        super.onMeasure(widthMeasureSpec, heightMeasure)
    }
}

fun setMaxHeight(maxHeight: Int) {
    this.maxHeight = maxHeight
}
}

ayrıca şu beyanı da gerektirir values/attrs.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ScrollViewWithMaxHeight">
        <attr name="android:maxHeight" />
    </declare-styleable>
</resources>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.