2016-09-12 8 views
0

私はXamarinアプリを開発中ですが、このコンセプトはアンドロイドにも当てはまります。GridViewの下のLinearLayoutはコンテンツをラップしません

私はLinearLayoutラップされたアイテムを以下のようにGridViewに表示したいと思います。しかし、私は期待どおりにレンダリングされません。

ここには何かがありますか?

LinearLayout

コード:

Main.axml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:minWidth="25px" 
android:minHeight="25px"> 
<GridView 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/gridViewHomeItems" 
    android:horizontalSpacing="10px" 
    android:verticalSpacing="10px" 
    /> 

HomeItem.axml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:padding="25px"> 
    <ImageView 
     android:src="@android:drawable/ic_menu_gallery" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/homeItemImage" /> 
    <TextView 
     android:text="Item Title" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/homeItemTitle" /> 
</LinearLayout> 
+0

私の答えを試しましたか? –

答えて

1

プロパティからpxを削除します。代わりにspまたはdpを使用してください。同じことがGrid View layoutにも当てはまります。

Like this.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:minHeight="25dp" 
    android:minWidth="25dp" 
    android:orientation="vertical" 
    android:padding="25dp"> 

    <ImageView 
     android:id="@+id/homeItemImage" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_btn_speak_now" /> 

    <TextView 
     android:id="@+id/homeItemTitle" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Item Title" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 
</LinearLayout> 

この

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:minHeight="25dp" 
    android:minWidth="25dp" 
    android:orientation="vertical"> 


     <GridView 
     android:id="@+id/gridViewHomeItems" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:columnWidth="96dp" 
     android:horizontalSpacing="10dp" 
     android:minHeight="25dp" 
     android:minWidth="25dp" 
     android:numColumns="auto_fit" 
     android:verticalSpacing="10dp" />  



</LinearLayout> 
+1

これはすばらしい、ありがとう! –

0

のようなグリッドビューは、このatributesを追加してみてください。 Main.axml#GridViewコントロール:

android:columnWidth="96dp" 
android:numColumns="auto_fit" 

HomeItem.axml(#ImageViewと#TextView):

android:layout_centerHorizontal="true" 
0

はあなたのレイアウトに以下のコードを試してみてください。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
     android:orientation="vertical" 
    > 

    <GridView 
     android:numColumns="auto_fit" 
     android:gravity="center" 
     android:columnWidth="100dp" 
     android:stretchMode="columnWidth" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/gridViewHomeItems" 
     /> 

</LinearLayout> 
次のようにカスタムレイアウトを変更し

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:minHeight="25dp" 
       android:minWidth="25dp" 
       android:orientation="vertical" 
       android:padding="10dp"> 

    <ImageView 
     android:id="@+id/homeItemImage" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_menu_gallery"/> 

    <TextView 
     android:id="@+id/homeItemTitle" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Item Title" 
     android:textAppearance="?android:attr/textAppearanceMedium"/> 
</LinearLayout> 

はまた、あなたがAndroidの標準規格に従って代わりpxdpを使用します。

関連する問題