我刚开始使用我的第一款Android应用。我在Android Studio工作,我最初的问题是在第一页的顶部显示客户徽标。
我已经想出如何将徽标转换为.9.png,并使用android-drawable-importer插件以各种所需的分辨率将其加载到项目中。
现在我的问题只是让图像在我的显示器上正确缩放。
目前,我正在使用LinearLayout,ImageView占据了显示器的顶部区域:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="12"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:src="@drawable/mylogo"
/>
<!-- ... -->
</LinearLayout>
有了这个,我的徽标占据了显示器的顶部1/6,水平居中,但它没有伸展以填满显示器的整个宽度。如果我添加android:scaleType =“fitXY”,它会缩放以水平填充,但它也会垂直缩放,导致我看不到徽标的顶部和底部。
有没有办法显示图像以使其垂直放置并水平填充?
我正在编辑它,以扩大其范围。可能是我过于专注于制作9补丁工作,而且我的问题有更简单的解决方案。
我需要的是非常简单 - 我希望在页面顶部区域显示一个徽标,水平居中,徽标不会因x轴或y轴缩放而扭曲,但背景颜色会延伸到边缘水平显示。
如果九个补丁不会这样做,可能会有别的东西。
答案 0 :(得分:2)
如何使用具有透明背景的徽标,然后将android:background
的{{1}}设置为您需要的颜色?这样你就可以更好地控制徽标显示了吗?
另外,您是否尝试过尝试其他scale types?:
尝试设置ImageView
,您的图片应以父级为中心显示,并进行缩放以尽可能多地填充可用空间。
如果图片仍然缩放不正确,您还可以设置android:adjustViewVounds参数,以便更好地满足您的需求
答案 1 :(得分:0)
使用android:scaleType =“fitXY”。此属性是9patch工作所必需的。此外,在使用9patch时,请注意以下其他一些事项。
1)使用名称引用drawable,但不包括.9.png(如果您仍在使用 tisk-tisk 的Eclipse,则eclipse中的自动完成将处理此问题)
2)确保主/可绘制文件夹下只有1个图像(不是每个dpi文件夹的版本)
3)图像必须使用:background,而不是:src(这让我卡住了一段时间)
android:background="@drawable/splash_logo"
4)确保包含它的图像和布局正在使用:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
希望这有助于你的身高缩放,欢呼!
答案 2 :(得分:0)
您可以尝试这样的事情:
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:src="@drawable/your_logo_image"
android:background="@color/your_logo_image_background_color"
android:scaleType="fitCenter"/>
这是一种解决方法,一种丑陋的&#34;溶液
我同意porfoliobuilder,九贴片图片可能不是徽标的最佳方法。