2012-06-22 6 views
1

Если я попробую добавить 'android: maxWidth = "400dp"' к следующему ImageView, ничего не происходит ... и идеи?Android игнорирует maxWidth

<ImageView android:src="@drawable/content_background" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:layout_gravity="center" 
       android:adjustViewBounds="true" 
       android:contentDescription="@string/img_background" /> 
+0

Я предполагаю, что андроид: layout_width = "fill_parent" переопределяет его? – bluewhile

+0

Может быть ... у вас есть идеи об обходном пути? – DefZep

+0

use wrap_content – bluewhile

ответ

-1

Для любого другого, который сталкивается с этой проблемой: я должен был обернуть его в FrameLayout и применить MaxWidth к FrameLayout как его layout_width. Выглядит примерно так:

<FrameLayout android:layout_width="800dp" android:layout_height="fill_parent" android:layout_centerInParent="true"> 
    <ImageView android:src="@drawable/content_background" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_gravity="center" 
        android:adjustViewBounds="true" 
        android:contentDescription="@string/img_background" /> 
</FrameLayout> 

где 800dp == Эффективная 'maxWidth' ImageView. Это также не должно мешать более мелким устройствам.

+1

Но это не устанавливает 'maxWidth', поскольку этот подход гарантирует, что ширина будет 800dp, даже если она может быть меньше, что в первую очередь используется в качестве maxWidth. –

Смежные вопросы