마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2662)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(994)
이미지
(969)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
이미지뷰에 대한 질문!!
0
추천
1. 주단위 달력을 이미지뷰로 구현중인데 7개 이미지를 한줄로 잘 정렬하는방법이 무엇이 있을까요? 임의로 마진 두면 간격이 이상해져서요!!
2. 1번말고 다른거인데 동적으로 이미지뷰를 넣을 때 xml에는 이미지뷰들이 위아래로 차례대로 나열되어있고 거기서 선택된것만 보이게 하려고 하는데 여기서 위아래 마진있으면 null이나 invisible로 했을 때 그 범위만큼은 공백으로 남아있더라구요 리사이클러뷰로 말고는 방법이 없나요 순수하게 이미지뷰로?? 마진같은거 없애주고
안드로이드
도와주세요-
안드로이드-초보어플개발
enerigpy
(
2,110
포인트)
님이
2023년 3월 27일
질문
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
1개의 답변
+1
추천
채택된 답변
1. LinearLayout 을 이용하면 각 아이템들을 일렬로 나란히 배치할 수 있겠습니다.
이미지뷰 서로간 간격을 동일하게 할 때, style 속성을 이용해서 사이즈와 마진을 공통으로 지정하면 관리하기 좋습니다.
2. INVISIBLE 이라는 값이 공간을 차지한 채로 화면에 보이지 않게 처리해 줍니다.
GONE 으로 설정 하셔야 원하시는 숨김처리가 될 겁니다.
익명
님이
2023년 3월 27일
답변
enerigpy
님이
2023년 3월 27일
채택됨
2번 질문에서
앞에서 이미지를 보여줄거를 클릭을 통해 불리안으로 intent로 넘기고
Intent intent = getIntent();
i11 = intent.getBooleanExtra("i", i);
i22 = intent.getBooleanExtra("i2", i2);
i33 = intent.getBooleanExtra("i3", i3);
i44 = intent.getBooleanExtra("i4", i4);
i55 = intent.getBooleanExtra("i5", i5);
i66 = intent.getBooleanExtra("i6", i6);
i77 = intent.getBooleanExtra("i7", i7);
i88 = intent.getBooleanExtra("i8", i8);
i99 = intent.getBooleanExtra("i9", i9);
i100 = intent.getBooleanExtra("i10", i10);
im = findViewById(R.id.imageView);
if(i1111 = false){
im.setVisibility(View.GONE);
}
else{
im.setVisibility(View.VISIBLE);
}
이렇게 하는데 이미지가 보여지고 안보여지고가 제대로 안되고 있는데 문제가 있을까요?
LinearLayout을 사용할 경우는 weight 속성을 주시면 동일한 너비를 사용하실 수 있어요.
android:weight="1"
그리고 뷰가 10개나 되는데 하나씩 컨트롤 하지 마시고 배열이나 리스트를 사용하세요.
intent.putExra("visibilites", new Integer[]{
View.VISILBLE, View.VISIBLE, View.GONE,,..., View.VISIBLE
});
weeklyViews = Arrays.asList(im, ...); // 대상 View들을 리스트에 담는다.
int[] visibilityExtra = intent.getIntArrayExtra("visibilites");
for (int i = 0; i < weeklyViews.size(); i++) {
weeklyViews.setVisibility(visibilityExtra[i]);
}
아니면, 필요한 값을 전달받아서 뷰를 동적으로 생성하는 방법도 있어요.
2번 질문은 weekly랑 다른거에요!
Visibility외에 weight 속성을 추가로 주면 자동으로 균일한 너비를 줄 수있기 때문에 언급한거예요. 일일이 width를 계산해서 넣기에는 너무 번거롭거든요.
네 2번은 해결했고
1번에서 이미지뷰 나열할때 이미지뷰에 이미지뷰를 넣는게 있고 어떤 코드에 의해 바뀌는게 있어서 그것들이 정렬이 안되고 lienarlayout에서 이미지뷰 밑으로 가는데 이럴땐 어떻게 해야할까요?
질문이 이해가 잘 안가서 정확히 어떤 상황인지는 모르겠지만, 먼저 떠오르는 해결책은 '어떤 코드'가 정렬을 방해하지 않도록 하던가, 아니면 다시 정렬을 하게 하던가 하도록 해야겠죠. 정렬이 변경되기 전의 원본 정렬상태를 가지고 있다가 다시 적용하실 수 있는지도 생각해 보세요.
Please
log in
or
register
to add a comment.
...