-
[Android] ScrollView maxHeight fixAndroid 2019. 8. 12. 16:15
아래와 같은 코드에,
ScrollView에 maxHeight속성을 주거나,
ScrollView의 하위 레벨 LinearLayout에 maxHeight를 아무리 주어도 고정이 되지 않았다.
<ScrollView android:id="@+id/svBankList" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/llBankList" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RecyclerView android:id="@+id/rvBankList" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> </ScrollView>
그래서 찾은 방법은,
레이아웃은 위와 같이 그대로 진행하되 코드 상에 아래 내용을 넣는다.
나의 경우에는 maxHeight를 170dp로 고정했다. px과 dp에 유의하여 값을 집어 넣을 것.
mSvBankList.measure(0, 0); if (mLlBankList.getMeasuredHeight() > ScreenUtils.dpToPx(getContext(), 170)) { LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, (int) ScreenUtils.dpToPx(getContext(), 170)); mSvBankList.setLayoutParams(lp); }
* 참고 - dp와 px 변환 함수
public static float dpToPx(Context context, float dp) { if (context == null) { return -1; } return dp * context.getResources().getDisplayMetrics().density; } public static float pxToDp(Context context, float px) { if (context == null) { return -1; } return px / context.getResources().getDisplayMetrics().density; }
'Android' 카테고리의 다른 글
[Android] Camera StatusBar Transparency (0) 2019.08.22 [Android] Color Transparency, Opacity (0) 2019.08.22 [Android] Zxing Library Code Scanner Remove Laser Line (0) 2019.08.12 [Android] dotted line 점선 view 만들기 (세로/가로) (0) 2019.08.02 [Android] Coach Mark (0) 2019.08.02