>Java >java지도 시간 >Android에서 위젯용 줄바꿈 레이아웃을 구현하는 방법은 무엇입니까?

Android에서 위젯용 줄바꿈 레이아웃을 구현하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-07 02:01:03888검색

How to Implement Line-Breaking Layout for Widgets in Android?

Android용 줄바꿈 위젯 레이아웃

문제:

Android 애플리케이션에서, 각각 단어를 나타내는 위젯으로 나눌 수 있는 데이터가 있을 수 있습니다. 이 데이터를 표시하려면 텍스트 단락과 유사하게 위젯을 줄로 정렬하여 필요할 때 다음 줄로 줄 바꿈할 수 있도록 해야 합니다.

제안 솔루션:

텍스트의 줄 바꿈 동작을 모방하는 PredicateLayout이라는 사용자 정의 레이아웃을 구현합니다. 이 레이아웃은 하위 뷰를 줄로 배열하고 줄 끝에 도달하면 줄 바꿈하여 관리합니다.

코드 샘플:

public class PredicateLayout extends ViewGroup {
    private int line_height;

    // ...

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // ...
        for (int i = 0; i < count; i++) {
            // ...
            final LayoutParams lp = (LayoutParams) child.getLayoutParams();
            // ...
            line_height = Math.max(line_height, child.getMeasuredHeight() + lp.height);
            // ...
        }
        this.line_height = line_height;
        // ...
    }

    // ...
}

사용:

활동 내에서 다음과 같이 이 사용자 정의 레이아웃을 사용할 수 있습니다.

public class MyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // ...
        PredicateLayout l = new PredicateLayout(this);
        // ...
        setContentView(l);
    }
}

결과:

PredicateLayout은 너비 제한을 초과하면 다음 줄로 줄 바꿈됩니다. 이를 통해 데이터를 줄바꿈된 텍스트와 같은 단락으로 표시할 수 있습니다.

위 내용은 Android에서 위젯용 줄바꿈 레이아웃을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.