마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

constraintlayout 에서 가로, 세로 설정하기

0 추천
<?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="match_parent"
    >

    <android.support.v7.widget.AppCompatEditText
        android:id="@+id/text_content"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        android:minLines="20"
        android:lines="20"
        app:layout_constraintBottom_toTopOf="@+id/btn_save_text"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_editor_absoluteX="0dp"
        />

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/btn_save_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent" />

</android.support.constraint.ConstraintLayout>

layout 소스 코드 입니다.

아무리 구글에서 검색해도 방법을 모르겠어서 글을 씁니다.

ConstraintLayout 에서 가로, 세로를 화면 크기의 80%로 설정하고 싶은데 방법을 아시는 분운 답변 부탁드립니다.

아래 방법처럼 onCreateView에서 minimumWidth, minimumHeight 설정이나 layoutparam 설정해도 안되고, 

EditText 의 가로, 세로를 설정하려고 해도 안됩니다. ㅠ

class TextContentDialog(val content: String = ""): AppCompatDialogFragment() {

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        text_content.apply {
            val displayMetrics = resources.displayMetrics
            width = (displayMetrics.xdpi * 0.8).toInt()
            height = (displayMetrics.ydpi * 0.8).toInt()

            setText(content)
            setSelection(text.length)
        }
    }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View?
        = inflater.inflate(dialog_add_text_content, container).apply {
            val displayMetrics = resources.displayMetrics
            minimumWidth = (displayMetrics.xdpi * 0.8).toInt()
            minimumHeight = (displayMetrics.ydpi * 0.8).toInt()

//            layoutParams = ViewGroup.LayoutParams((displayMetrics.xdpi * 0.8).toInt(),
//                    (displayMetrics.ydpi * 0.8).toInt())

        }
}

 

 

jju8521 (340 포인트) 님이 2017년 6월 18일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...