설명 드리겠습니다. I는 가지고이 이미지 뷰 오류를 수정하는 방법은 무엇입니까?
(@ 그리기/그림에 있음) 픽처와 버튼
직선 레이아웃 (ID = linear1)
버튼 XML은 아래와 같다 :
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginRight="10dp"
android:scaleType="fitXY"
android:src="@drawable/pic"
android:maxWidth="80dp"
android:maxHeight="80dp"
tools:ignore="ContentDescription" />
선형 레이아웃 xml은 다음과 같습니다.
<LinearLayout
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="80dp"
android:gravity="center"
android:orientation="horizontal"
tools:ignore="UselessLeaf" >
내가 원하는 것은, 버튼을 클릭하면 프로그램 적으로 imagelay를 생성하여 선형 레이아웃 내부에 생성하고 단추 (그림)와 동일한 그림으로 채우고 싶습니다. 코드는 다음과 같습니다 :
//initiate imageview
ImageView img=new ImageView(this);
//get drawable from button
Drawable blabla=btn1.getDrawable();
//set drawable to imageview
img.setImageDrawable(blabla);
//set height and width of imageview to 50dp
LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(50,50);
img.setLayoutParams(parms);
img.setScaleType(ScaleType.FIT_XY);
//place imageview to linearlayout
layoutTempat.addView(img);
코드는 버튼이 같은 이미지로 이미지 뷰를 표시와 함께 잘 작동합니다. 그러나 문제는 : 프로그래밍 방식으로 이미지 뷰를 50dp로 설정하면 버튼 내부의 이미지가 너무 변경되었습니다. 어떻게 그럴 수 있습니까? 나는 iam a newbie처럼 혼란 스럽다 ..
고마워.
이전에 같은 문제가 발생하여 ImageView + Button 조합을 사용하기로 결정했기 때문에 유연성이 향상되었습니다. 나는 당신이 용기를 얻은 것이 그것이 그들이 표현되기를 원하는 방식이라고 생각합니다. – Dejan
버튼이 어떻게 바뀝니 까! ? –
원하는 효과를 시각적으로 표현하면 도움이 될 것입니다. 또한 새로운 LinearLayout.LayoutParams (50,50);은 50 픽셀이며 * dp가 아닙니다. 이와 같이 프로그래밍 방식으로 LayoutParams를 만들려면 화면의 밀도 스케일 인수를 곱해야합니다. – Karakuri