xml에서 ImageView가 보이지 않는 이유?
조회수 1222회
xml에서 ImageView는 버튼 역할도 아니고 그냥 이미지 보이는 용인데 왜 안 보이는지 모르겠어요.
버튼 역할을 이미지뷰와 그 밑에 텍스트뷰를 감싸는 LinearLayout이 하고있어요.
안드로이드 스튜디오에서는
이렇게 잘 보이는데 실제로 돌리면(애뮬X)
이렇게 떠요.
위에 텍스트뷰는 자바파일에서 건드린게 있어서 안 보이는게 맞는데 이미지뷰는 아무런 기능도 없는데 안 보이는지 모르겠어요.
혹시 몰라 이미지뷰가 있는 부분 xml 소스 올릴게요.
...
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout2">
<LinearLayout
android:id="@+id/setting_btn_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:onClick="onClick"
android:orientation="vertical">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
app:srcCompat="@drawable/icon_btn_ok" />
<TextView
android:id="@+id/textView24"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="확인" />
</LinearLayout>
<LinearLayout
android:id="@+id/setting_btn_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:gravity="center"
android:layout_marginLeft="120dp"
android:orientation="vertical">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
app:srcCompat="@drawable/icon_btn_delete_circle" />
<TextView
android:id="@+id/textView25"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="취소" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
혹시 이유를 아시면 가르쳐주세요.
-
(•́ ✖ •̀)
알 수 없는 사용자
2 답변
-
app:srcCompat 속성 말고 android:src 속성을 이용해보세요.
app:srcCompat 속성은 AppCompat 라이브러리의 속성이여서 만약 Activity가 AppCompatActivity를 확장하지 않는다면 안 될수도 있습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
버튼으로 진행하실 거면 ImageView 대신 ImageButton 에서 android:src = "@drawable/icon_btn_delete_circle" 를 사용해 보시고요 이미지 파일 크기가 이미지 뷰보다 큰 경우는 이미지 뷰에 잘려서 보이기 때문에 android:scaleType="fitXY"를 추가해 보시는 것도 추천 드립니다.
댓글 입력