티스토리 뷰

android

ConstraintLayout - 가변형 속성

길 킴 2022. 5. 1. 15:32
728x90
ConstrainedWidth, constraintHorizontal_bias 속성 활용 

 

왼쪽에 가변적인 뷰가 있고, 오른쪽에 고정 뷰가 있는 아래와 같은 뷰를 구성하고자 했다. 

Constraint 속성 구성을 이렇게 구성해봤다. 

  • 가변뷰 
    • startToStartOf : parent
    • endToStartOf : 고정뷰 
    • width : wrap_parent
    • ellipsize : end
  • 고정뷰
    • startToEndOf : 가변뷰
    • endToEndOf : parent
    • width : 50dp 

결과는 아래와 같이 되구려..

이유는 startToStartOf 와 endToEndOf 의 속성의 우선순위가 같기 때문! 그래서 레벨이 같다면, 왼쪽에 있는 옵션이 우선 되는 것. 

그렇다면, 왼쪽에 있는 가변뷰에 "나는 가변형이야! " 라고 우선순위를 정하는 옵션이 필요하다. 

필요한 옵션들

  • constrainedWidth : width가 가변형인지 선택 옵션 
  • constraintHorizontal_bias : 왼쪽에서 얼마나 떨어져있는가에 대한 옵션
  • constraintHorizontal_chainStyle : 관계 설정된 뷰를 어떻게 정렬할건가 정하는 옵션 

<적용 코드> 

     <​TextView  
         ​android​:​id​=​"​@+id/tv_left​"  
         ​android​:​layout_width​=​"​wrap_content​"  
         ​android​:​layout_height​=​"​wrap_content​"  
         ​android​:​ellipsize​=​"​end​"   
         ​android​:​maxLines​=​"​1​"  
         ​android​:​text​=​"​가변텍스트​"    
         ​app​:​layout_constrainedWidth​=​"​true​"  
         ​app​:​layout_constraintEnd_toStartOf​=​"​@id/tv_right​"  
         ​app​:​layout_constraintHorizontal_bias​=​"​0​"  
         ​app​:​layout_constraintHorizontal_chainStyle​=​"​packed​"  
         ​app​:​layout_constraintStart_toStartOf​=​"​parent​" />  
     <​TextView  
         ​android​:​id​=​"​@+id/tv_right​"  
         ​android​:​layout_width​=​"​wrap_content​"  
         ​android​:​layout_height​=​"​wrap_content​"  
         ​app​:​layout_constraintHorizontal_bias​=​"​0​" 
         ​android​:​maxLines​=​"​1​"  
         ​android​:​text​=​"​ 고정텍스트​"  
         ​app​:​layout_constraintEnd_toEndOf​=​"​parent​"  
         ​app​:​layout_constraintStart_toEndOf​=​"​@id/tv_left​"  
         ​app​:​layout_constraintTop_toTopOf​=​"​parent​"​ />

 

이제 잘 된다. 뿅! 

 

!주의사항
ConstraintLayout 옵션중에 layout_constraintWidth, layout_constrainedWidth 2가지가 있다. 
가변형 true/false 옵션 설정하는 것은 layout_constrainedWidth 임을 주의하자. 
(constraint 아니고 constrained ! ) 
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함