GridLayout
에는 7 개의 ImageButton
이 있습니다. 나는 높이가 같고 너비가 같은 4 개의 행, 첫 번째 행의 4 개의 버튼, 두 번째 행의 3 개의 버튼에 넣고 싶습니다. 여기에 내 문제가있다 ... 나는 마지막 버튼을 두 개의 컬럼에 걸쳐 놓고 싶다. 원래 버튼 크기보다 더 큰 크기의 일부 테스트 이미지를 사용했습니다. 또한, 아래의 XML 파일을 버튼 스타일에 대해 참조하도록 만들었습니다. 내가 그하여 ImageButton에 대한 2 layout_columnSpan
을 설정할 때안드로이드 GridLayout에서 ImageButton 조정하기
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="ButtonStyle">
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
<item name="android:adjustViewBounds">true</item>
<item name="android:background">@android:color/background_light</item>
<item name="android:layout_marginLeft">5dip</item>
<item name="android:layout_marginRight">5dip</item>
<item name="android:layout_marginTop">5dip</item>
<item name="android:layout_marginBottom">5dip</item>
<item name="android:layout_width">0dip</item>
<item name="android:layout_gravity">fill</item>
<item name="android:layout_columnWeight">20</item>
<item name="android:scaleType">fitXY</item>
</style>
</resources>
내가 ImageButton7의 기본 layout_columnSpan
를 사용하여 배열에 아무런 문제가 없다, 즉, 1입니다 그러나, 두 번째 행은 두 번째보기를 제공, 높이 확장합니다.
볼 때 ImageButton7, layout_columnSpan = 1
볼 때 ImageButton7, layout_columnSpan = 여기에 2
내 XAML 코드 :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="25px"
android:minHeight="25px">
<GridLayout
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/gridLayout1"
android:columnCount="4">
<ImageButton
android:src="@drawable/btn0"
android:id="@+id/imageButton1"
style="@style/ButtonStyle" />
<ImageButton
android:src="@drawable/btn1"
android:id="@+id/imageButton2"
style="@style/ButtonStyle" />
<ImageButton
android:src="@drawable/btn2"
android:id="@+id/imageButton3"
style="@style/ButtonStyle" />
<ImageButton
android:src="@drawable/btn3"
android:id="@+id/imageButton4"
style="@style/ButtonStyle" />
<ImageButton
android:src="@drawable/btn4"
android:id="@+id/imageButton5"
style="@style/ButtonStyle" />
<ImageButton
android:src="@drawable/btn5"
android:id="@+id/imageButton6"
style="@style/ButtonStyle" />
<ImageButton
android:src="@drawable/btn6"
android:id="@+id/imageButton7"
style="@style/ButtonStyle"
android:layout_columnSpan="2" />
</GridLayout>
</LinearLayout>
목표는 아래 그림과 같은 것입니다. 어떤 도움을 주시면 감사하겠습니다.
힌트 @Amir에 감사드립니다. 어쨌든 이미지를 축소하거나 버튼의 크기에 비례하여 가로 세로 비율을 유지할 수 있습니까? IMHO는 새로운 그림을 만드는 것은 실용적이지 않습니다. 그 결과 cloumnspan 값을 변경할 때마다 그림을 변경해야합니다. 그리고 그것은 고통입니다 ... – Afshin
나쁜 대답을 대답;) –
고마워. 지금까지 최고로 효과가 있었기 때문에 해결책으로 표시했습니다. – Afshin