나는 당뇨병 환자와 정기적 인 주사를 맞이하는 사람들을위한 주사 추적 응용 프로그램을 구축하고 있습니다. 나는 8 개의 체크 박스를 이미지 상단에 정렬하려고합니다. body를 사용하여 사용자가 주입 위치를 지정할 수 있습니다. 문제는 바로 지금 정렬하는 것이 매우 특정한 화면 크기에서만 작동하고, 크기가 다를 때마다 체크 상자가 움직여서 올바른 본문 부분이 아닌 주변으로 이동하고 끝나는 것입니다. 이 일을 수행 할 수있는 방법이 있습니까? 마진을 하드 코딩하는 것이 잘 작동하지 않는 것 같습니다. 어떤 도움을 주시면 감사하겠습니다. 고맙습니다.다른 화면 크기의 이미지 위에 체크 박스를 정렬하는 방법
여기에 ideally처럼 보이게하고 싶습니다. 여기에 모든 것을 바꿔 놓은 specific screen size에 실제로 보이는 모양이 있습니다. 물론 화면 크기가 크거나 작을수록 더 극단적입니다.
여기 내 코드입니다 :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android.injectiontracker.MainActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/date_and_time_layout"
android:src="@drawable/blank_body" />
<CheckBox
android:id="@+id/abdomen_left"
style="@style/InjectionCheckbox"
android:layout_alignBaseline="@+id/abdomen_right"
android:layout_alignBottom="@+id/abdomen_right"
android:layout_toRightOf="@+id/abdomen_right"
android:layout_toEndOf="@+id/abdomen_right" />
<CheckBox
android:id="@+id/thigh_left"
style="@style/InjectionCheckbox"
android:layout_alignBaseline="@+id/thigh_right"
android:layout_alignBottom="@+id/thigh_right"
android:layout_toRightOf="@+id/thigh_right"
android:layout_toEndOf="@+id/thigh_right" />
<ImageView
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/ic_save_black_48dp" />
<CheckBox
android:id="@+id/buttocks_left"
style="@style/InjectionCheckbox"
android:layout_below="@+id/abdomen_left"
android:layout_alignLeft="@+id/arm_left"
android:layout_alignStart="@+id/arm_left"
android:layout_marginLeft="24dp"
android:layout_marginStart="24dp" />
<CheckBox
android:id="@+id/arm_left"
style="@style/InjectionCheckbox"
android:layout_marginRight="74dp"
android:layout_marginEnd="74dp"
android:layout_above="@+id/abdomen_left"
android:layout_toLeftOf="@+id/save"
android:layout_toStartOf="@+id/save"
android:layout_marginBottom="16dp" />
<CheckBox
android:id="@+id/buttocks_right"
style="@style/InjectionCheckbox"
android:layout_width="wrap_content"
android:layout_alignBaseline="@+id/buttocks_left"
android:layout_alignBottom="@+id/buttocks_left"
android:layout_toRightOf="@+id/buttocks_left"
android:layout_toEndOf="@+id/buttocks_left" />
<CheckBox
android:id="@+id/arm_right"
style="@style/InjectionCheckbox"
android:layout_alignBaseline="@+id/arm_left"
android:layout_alignBottom="@+id/arm_left"
android:layout_toRightOf="@+id/buttocks_right"
android:layout_toEndOf="@+id/buttocks_right" />
<CheckBox
android:id="@+id/abdomen_right"
style="@style/InjectionCheckbox"
android:layout_marginLeft="55dp"
android:layout_marginStart="55dp"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:id="@+id/thigh_right"
style="@style/InjectionCheckbox"
android:layout_marginTop="11dp"
android:layout_below="@+id/buttocks_left"
android:layout_alignLeft="@+id/abdomen_right"
android:layout_alignStart="@+id/abdomen_right" />
는 사용자가 클릭 한 부분에이 라이브러리 [링크] (https://github.com/Lukle/ClickableAreasImages) 어떤에서 확인할 수 있으며, 선택 해제 체크 박스를 시도 제약 레이아웃 – Mrinmoy
을 시도합니다. 더 큰 화면 크기에서도 유지됩니다. 선택하지 않았습니다. 도움이 되길 바랍니다. –
Framelayout을 사용하여이 문제를 해결하십시오 – samsad