Android ActionBar Spinner中的图片很大

时间:2014-03-10 15:16:44

标签: android xml android-layout spinner android-menu

我的Android操作栏中有一个图像微调器,但是当我点击它时,图像不会缩小。这是我的应用程序的屏幕截图:

这是我的微调器布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerInside" >
    </ImageView>

</LinearLayout>

这是menu.xml中的项目声明:

<item
    android:id="@+id/menu_spinner"
    android:actionViewClass="android.widget.Spinner"
    android:showAsAction="ifRoom"
    android:title="Share"/>

2 个答案:

答案 0 :(得分:1)

也许有人可以提供全面的答案,但您需要对屏幕dpi使用资源过滤。

例如“drawable-mdpi”,“drawable-hdpi”

只需在文件夹中放置适当的(缩放的)尺寸

修改

好吧我试过类似的布局

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffff920f">

    <ImageView
        android:id="@+id/main_spinner_item_imageview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/abc_ic_cab_done_holo_light"
        android:scaleType="fitCenter"/>

</FrameLayout>

在示例项目中,一切正常。正如我之前提到的,你需要缩放屏幕dpi的图标。

下面有一个文件夹大小列表
  • “drawable-mdpi”,32x32
  • “drawable-hdpi”,48x48
  • “drawable-xhdpi”,72x72
  • “drawable-xxhdpi”,96x96

有关更多示例,请参阅操作栏图标包here

答案 1 :(得分:1)

wrap_contentmatch_parent中使用ImageView代替android:layout_width android:layout_height,如下所示......

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="centerInside" >
    </ImageView>

</LinearLayout>