2017-08-24 60 views
0

當我在Android Studio上工作時,網格視圖看起來很棒,當我在模擬器中運行它時,網格視圖看起來損壞,並且它在不同版本的android中有所不同。Android Studio,網格佈局絕不相同

任何人都可以幫助我解決這個問題嗎?

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="center" 
android:columnCount="4" 
android:orientation="horizontal" > 

<Button android:text="$3" /> 
<Button android:text="$5" /> 

<Button 
    android:layout_gravity="fill" 
    android:layout_columnSpan="2" 
    android:text="upis" /> 

<Button android:text="$10" /> 
<Button android:text="$15" /> 
<Button android:text="$160" /> 
<Button android:text="$180" /> 

<Button android:text="$20" /> 
<Button android:text="$25" /> 
<Button android:text="$200" /> 
<Button android:text="$220" /> 

<Button android:text="$20" /> 
<Button android:text="$25" /> 
<Button android:text="$200" /> 
<Button android:text="$220" /> 

<Button android:text="$20" /> 
<Button android:text="$25" /> 
<Button android:text="$200" /> 
<Button android:text="$220" /> 

<Button android:text="$20" /> 
<Button android:text="$25" /> 
<Button android:text="$200" /> 
<Button android:text="$220" /> 

<Button android:text="$20" /> 
<Button android:text="$25" /> 
<Button android:text="$200" /> 
<Button android:text="$220" /> 

<Button android:text="$20" /> 
<Button android:text="$25" /> 
<Button android:text="$200" /> 
<Button android:text="$220" /> 

<Button android:text="$20" /> 
<Button android:text="$25" /> 
<Button android:text="$200" /> 
<Button android:text="$220" /> 

</GridLayout> 

first emulator pitcure, andriod 4 second emulator pitcure, andriod 5

誰能幫我這個,或者是還有什麼選擇嗎?

+0

您的更改與Android版本無關。大多數情況下,這個問題是不同的屏幕尺寸。你可以通過讓你的'GridLayout'填充可用空間來幫助第二種場景('寬度和高度'爲'match_parent',而不是'wrap_content')。您可能還需要對窗口小部件大小進行一些更改(請參閱[文檔](https://developer.android.com/reference/android/support/v7/widget/GridLayout.html)中的「超額空間分配」) 。 – CommonsWare

回答

0

在您GridLayout,請嘗試使用:

android:layout_width="match_parent" 
android:layout_height="match_parent" 

你的代碼的問題是,它沒有考慮在帳戶的不同的屏幕尺寸。的確,

android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

GridLayout的大小考慮了按鈕的大小。由於按鈕的尺寸未定義,因此android:layout_widthandroid:layout_height的值爲默認值。