Android : 뷰에 maxHeight가없는 이유는 무엇입니까?


184

보기에는minHeight 있지만 어떻게 든 부족합니다 maxHeight.

내가 달성하려는 것은 일부 항목 (보기)을 채우는 것입니다 ScrollView. 1..3 항목이 있으면 직접 표시하고 싶습니다. 의미는 ScrollView높이가 1, 2 또는 3 항목임을 의미합니다 .

4 개 이상의 항목이 있으면 ScrollView확장을 중지 하고 (그래서 a maxHeight) 스크롤 제공을 시작하려고합니다.

그러나 불행히도를 설정하는 방법은 없습니다 maxHeight. 따라서 아마도 1..3 항목이있을 때 ScrollView프로그래밍 방식으로 WRAP_CONTENT높이를 설정하고 3*sizeOf(View)4 개 이상의 항목이있을 때 높이를 설정해야 합니다.

maxHeight이미 제공 되지 않은 이유 는 minHeight무엇입니까?

(BTW : 일부 견해 ImageViewmaxHeight구현 된 것과 같습니다 .)


: 나는 다른 스레드에서 솔루션 게시 한 stackoverflow.com/questions/18425758/...을
JMPergar

2
나는에 이것에 대한 해결책을 만든 chintanrathod.com/...
들은 Chintan Rathod

maxHeight를 제거하는 Google은 성 가시고 불편합니다. 동일한 결과를 얻으려면 지금해야 할 모든 것을보십시오.
이안 Wambai

답변:


86

이 솔루션 중 어느 것도 wrap_content로 설정했지만 maxHeight를 갖는 ScrollView 인 특정 지점에서 작동하지 않아 특정 지점 후에 확장이 중지되고 스크롤이 시작됩니다. 단순히 ScrollView에서 onMeasure 메소드를 무시합니다.

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

이것은 모든 상황에서 작동하지는 않지만 레이아웃에 필요한 결과를 제공합니다. 또한 madhu의 의견도 다루고 있습니다.

scrollview 아래에 일부 레이아웃이 있으면이 트릭이 작동하지 않습니다-madhu Mar 5 at 4:36


1
언제 작동하지 않습니까? 이것은 매우 깨끗한 솔루션처럼 보입니다. 그들이 왜 그것을 XML로 구현하지 않았는지 궁금해합니다.
Christophe Smet

1
높이를 수동으로 240으로 설정하면 작동하지 않을 수 있습니다. 1 개의 특정 모드 (wrap_content) 만 지원해야하기 때문에 scrollview가있는 모드를 확인하는 데 신경 쓰지 않았습니다.
whizzle

이 답변에는 '스크롤보기 아래에 일부 레이아웃이 있으면이 트릭이 작동하지 않습니다'라는 편집 내용이 있습니다. 페이지 하단에 정렬 된 레이아웃이 있으며이 사용자 정의 레이아웃에는 항상 사용자 정의 레이아웃을 하단 레이아웃 위에 배치하는 "android : layout_above = '@ + ...'"가 있습니다.)
Machine Tribe

70

를 만들려면 ScrollView또는 ListView의 maxHeight 당신은 당신이의 maxHeight이 원하는 무엇의 높이 주위에 투명있는 LinearLayout을 작성해야합니다. 그런 다음 ScrollView 's Height를로 설정하십시오 wrap_content. 높이가 부모 LinearLayout과 같아 질 때까지 커지는 ScrollView를 만듭니다.


3
이것은 스크롤 내용이있는 대화 상자가 화면의 전체 높이로 확장되지 않도록하는 데 유용했습니다.
Kyle Ivey

작은 제안은 LinearLayout 대신 FrameLayout을 사용하는 것이지만 중요하지는 않습니다.
Kyle Ivey

43
있는 ScrollView 아래의 몇 가지 레이아웃 현재 다음이 트릭 늘 작업하는 경우
Sreedhu 마두

2
코드를 제공해 주시겠습니까? 그것은 나를 위해 작동하지 않았기 때문에 어쩌면 내가 잘못하고있는 것입니다 ...
안드로이드 개발자

그 아래에 버튼이 있으면 작동하지 않습니다. 그것은 버튼을 화면 밖으로 밀어 것입니다
Li Tian Gong

43

이것은 xml에서 사용자 정의 할 수있게 해주었습니다.

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>

레이아웃 예

<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>

이를 위해 가장 좋은 방법은 커스텀 뷰를 만드는 것입니다.
Bertram Gilfoyle

스크롤보기 아래에 레이아웃이 있으면 작동합니다! 완전한!
Ragaisis

25

(이것은 질문에 직접 대답하지 않지만 maxHeight 기능을 찾는 다른 사람들에게 도움이 될 수 있음을 알고 있습니다)

ConstraintLayout은 다음을 통해 자녀에게 최대 높이를 제공합니다

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

또는

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

샘플 사용법은 여기 입니다.


2
뷰가 세로 체인에있는 경우 (ConstraintLayout 문서에 지정된대로) 작동하지 않습니다.
Arno Schoonbee

정보 주셔서 감사합니다.
user1506104

8

가능한 경우 whizzle의 대답에 대해 언급했지만 Android N의 다중 창 모드 에서이 문제를 해결하려면 코드를 약간 변경해야한다는 점에 유의하는 것이 유용하다고 생각했습니다.

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

따라서 레이아웃의 크기를 최대 높이보다 작게 할 수 있지만 최대 높이보다 커지는 것을 방지 할 수 있습니다. 나는이 오버라이드 (override)하는 레이아웃 클래스를 사용 RelativeLayout하고이 날은 함께 사용자 지정 대화 상자를 만들 수 ScrollView의 자식으로 MaxHeightRelativeLayout화면의 전체 높이를 확장하지 않습니다 또한 안드로이드를위한 멀티 윈도우에서 가장 작은 과부의 크기에 맞도록 축소 엔.


4

maxHeight를 설정할 방법이 없습니다. 그러나 높이를 설정할 수 있습니다.

그렇게하려면 scrollView의 각 항목의 높이를 감지해야합니다. 그런 다음 scrollView 높이를 numberOfItens * heightOfItem으로 설정하십시오.

항목의 높이를 감지하려면 다음을 수행하십시오.

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

높이를 설정하려면 다음을 수행하십시오.

// 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

당신의 랩 ScrollView당신의 일반 약 LinearLayoutlayout_height = "MAX_HEIGHT"과를이 완벽한 일을 할 것입니다. 사실, 지난 5 년 동안이 코드를 문제없이 사용했습니다.

<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
실제로 완벽한 솔루션. 영리하고 단순합니다. 리사이클 러에도 적합합니다.
Alex Belets

3

MaxHeightScrollView맞춤보기

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>

사용

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

    ...

</....MaxHeightScrollView>

2

여기에 답이 있습니다.

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

ScrollView를 확장하는 새 클래스를 만들고 onMeasure메서드를 재정의하십시오 .

    @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

위에서 언급했듯이 ConstraintLayout은 다음을 통해 자녀에게 최대 높이를 제공합니다.

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

또한 한 ConstraintLayout의 자식에 대한 최대 높이가 앱이 실행될 때까지 확실하지 않은 경우에도 세로 체인의 위치에 상관없이이 자식이 자동으로 가변 높이를 조정할 수있는 방법이 있습니다.

예를 들어, 가변 헤더 TextView, 가변 ScrollView 및 가변 바닥 글 TextView가있는 아래쪽 대화 상자를 표시해야합니다. 대화 상자의 최대 높이는 320dp입니다. 총 높이가 320dp에 도달하지 않으면 ScrollView가 wrap_content로 작동하고 총 높이가 ScrollView를 초과하면 "maxHeight = 320dp-머리글 높이-바닥 글 높이"로 작동합니다.

xml 레이아웃 파일을 통해서만이를 달성 할 수 있습니다.

<?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>

대부분의 가져 오기 코드는 짧습니다.

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

app:layout_constrainedHeight="true"

수평 maxWidth 사용법은 상당히 동일합니다.


1

layout_weight 값을 사용해 보셨습니까 ? 하나를 0보다 큰 값으로 설정하면 사용 가능한 남은 공간으로 해당보기가 확장됩니다.

여러 뷰를 늘려야하는 경우 값이 그 사이의 가중치가됩니다.

따라서 두 개의 뷰가 모두 layout_weight 값으로 1로 설정되어 있으면 공간을 채우기 위해 확장되지만 둘 다 동일한 양의 공간으로 확장됩니다. 이 중 하나를 2 값으로 설정하면 다른보기보다 두 배 늘어납니다.

여기에 선형 레이아웃 아래에 더 많은 정보가 있습니다.


1
가중치의 문제점은 가중치가 상대적이라는 것입니다. 다른 화면 크기, 다른 결과, 예를 들어 800px 화면에서 가중치를 특정 값으로 설정하여 특정 영역이 원하는 200px로 끝날 수 있습니다. 그러나 850px 화면에서 특정 영역은 200px보다 커지지 만 닫힌 요소는 여전히 200px입니다. 그래서 maxHeight특정 딥 값으로 설정할 수 있는 것을 선호 합니다. (최종적으로 프로그래밍 방식으로 높이를 계산하고 설정했습니다.)
znq

1

난 u는 단지 한 항목에 대한 런타임에 heiht을 설정할 수 있습니다 생각 scrollView.setHeight(200px)이 개 항목에 대한, scrollView.setheight(400px)3 인 이상scrollView.setHeight(600px)


8
차원을 'px'로 설정하고 싶지 않습니다. 여러 장치에서 원하는 결과를 얻지 못할 가능성이 큽니다. developer.android.com/guide/topics/resources/…
Hernd DerBeld

@HerndDerBeld 그것이 코드에서 작동하는 방식입니다. 원하는 경우 언제든지 DP에서 픽셀로 쉽게 변환 할 수 있습니다. float pixels = TypedValue.applyDimension (TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources () .getDisplayMetrics ());
안드로이드 개발자

1

우리가 알고 있듯이 안드로이드를 실행하는 기기는 화면 크기가 다를 수 있습니다. 우리가 아는 것처럼 뷰는 동적으로 조정되어 적절한 공간이되어야합니다.

최대 높이를 설정하면 뷰가 충분한 공간을 얻지 못하거나 적은 공간을 차지하지 않도록 할 수 있습니다. 때로는 최대 높이를 설정하는 것이 실제적인 것처럼 보입니다. 그러나 해상도가 급격히 바뀌면 최대 높이를 가진보기가 적절하지 않게됩니다.

원하는 레이아웃을 정확하게 수행하는 적절한 방법이 없다고 생각합니다. 레이아웃 관리자와 상대 메커니즘을 사용하여 레이아웃을 생각하는 것이 좋습니다. 나는 당신이 무엇을 성취하려고하는지 모르겠지만 목록에 세 가지 항목 만 표시해야하고 사용자가 스크롤해야한다는 것은 조금 이상하게 들립니다.

btw. minHeight는 보장되지 않으며 존재하지 않아야합니다. 다른 관련 항목이 더 작아지는 반면 항목을 강제로 표시하면 이점이 있습니다.


6
이것은 잘못이다. 이 논리에 따르면 android : layout_width = "500dp"라고 말할 수 없습니다.
Glenn Maynard 님이

나는 당신의 논리 해석이 무엇이 잘못되었는지 알지 못한다. layout_width (때로는 괜찮음)를 설정하면 보장되지는 않습니다. 500dp는 다른 장치에서는 적절하지 않은 장치를 볼 수 있습니다. 레이아웃 관리자 ftw! 아마 당신은 더 많은 bcs 다운 투표 귀찮게 설명 할 수 있습니다 :)
Diego Frehner

3
android : layout_width = "500dp"와 마찬가지로 android : maxWidth = "500dp"라고 말하면됩니다. 둘 다 뷰에서 특정 치수를 강제합니다.
Glenn Maynard 님이

1

누군가가 LayoutParams에 대한 정확한 값 사용을 고려하고 있다면

setLayoutParams(new LayoutParams(Y, X );

장치 디스플레이의 밀도를 고려해야합니다. 그렇지 않으면 다른 장치에서 매우 이상한 동작이 발생할 수 있습니다. 예 :

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

0

먼저 항목 높이를 픽셀 단위로 가져옵니다.

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

그런 다음 간단히

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

0

오버플로가 아닌 스크롤보기 또는 목록보기를 만들고 싶다면 RelativeLayout에서 상단보기와 하단보기가 상단과 하단에 있어야합니다.

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

더 많은 크레딧이 필요합니다. 구체적이지만 간단한 구현.
Luke Allison

0

내가 사용하는 있는 ScrollView 정의 하는 용도 코 틀린에서 만든을 maxHeight. 사용 예 :

<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>

코드는 다음과 같습니다 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
}
}

이 선언도 필요합니다 values/attrs.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="ScrollViewWithMaxHeight">
        <attr name="android:maxHeight" />
    </declare-styleable>
</resources>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.