ssomai / ScalableLayout

Scalable Layout For Android
Apache License 2.0
270 stars 87 forks source link

dp 및 sp값의 비율 #65

Open Bo3o2S opened 5 years ago

Bo3o2S commented 5 years ago

안녕하세요 scalablelayout을 처음 써보려고 하는 개발자입니다!

현재 감사히 잘 쓰고 있습니다만 처음 써보려니 좀 헷갈리는 부분이 많아서..ㅠ 현재 디자인을 보고 작업하는데 크기나 마진, 패딩 값같은 경우 scalablelayout에서 어떻게 환산해서 적용해야 할지 고민이 됩니다.

예를 들어

<ImageView android:id="@+id/btn_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/btn_back" app:scale_height="50" app:scale_width="50" app:scale_top="20" app:scale_left="20" />

  1. 뒤로 가기 버튼에 대한 imageView인데요. 실제 leftmargin과 topmargin은 15dp인데 상대적인 비율로 하려니 좀 난감합니다. 어떻게 잡아야할지요?

  2. 그리고 scalable레이아웃에서 크기를 잡을 때 scale_base_width, height에서 가로는 화면크기, 세로는 임의의 값으로 잡아서 하면 되는건지요?

  3. 또 textview에서 sp는 어떻게 변환해야 할지요?

scalablelayout에서 pixel로 변환시킨다고 하여서 px로 변환해보니 또 크기가 너무 작아지네요.ㅠ

보면서 눈대중으로 비율을 맞추는것도 좀 아닌거 같아서 질문드립니다~

답변 부탁드립니다~^^

Bo3o2S commented 5 years ago

자답입니다만

디자인이 720 *1280 기준이면 반값인 넓이를 360으로 1080기준이면 1/3로 잡고 하면 되겠네요 ㅎㅎ padding이 비율따라 적용되면 좋을거 같긴한데 그거까지 바라기는 무리겠죠?

제가 잘못 알고 있거나 위 내용에 대한 조언이 있으시면 답변부탁드립니다!^^

ssomai commented 5 years ago

안녕하세요~. ㅎ

  1. ScalableLayout을 사용할때는 padding과 margin은 비율따라 적용이 안 되기에 padding, margin을 사용하지 않고 scale_left, scale_top 등의 배치를 적절히 잘 하시면 될듯합니다...

  2. 네, 비율이니 임의의 값을 잡으시면 됩니다.

  3. textview의 sp는 android에서의 sp그대로 표현됩니다. ScalableLayout에서 text 크기를 비율로 지정할수있는 scale_textsize 속성을 이용하시면 됩니다~.

답이 되셨는지 모르겠지만, 또 궁금한게 있으면 언제든 질문올려주세요~