我在我的Android应用程序中使用ActionBar,并自定义每个选项卡,我将一个背景图像与ActionBar相提并论,其内容如下:
在我的手机上看起来很不错,但在其他手机上,它看起来很压扁。如何根据背景比例按比例缩放ActionBar?这有什么解决方案吗?我必须确定修复DPI的高度,因为如果我把它留下来,ActionBar甚至都没有显示出来。我的样式代码现在如下;
<style name="MyActionBar" parent="android:Theme.Holo.Light">
<item name="android:backgroundStacked">@drawable/tab_bg</item>
<item name="android:adjustViewBounds">true</item>
<item name="android:scaleType">fitEnd</item>
<item name="android:height">87dp</item>
</style>
更新
我只是不知道Mr.T&x的xml代码。我使用基本的android ActionBar,我只有一个名为menu.xml的xml,但如果我把代码放入其中,没有效果。
我尝试使用以下方法设置操作栏的样式,但是,如果我没有指定android:height参数,则操作栏保持为0并且不显示。
<style name="MyActionBar" parent="android:Theme.Light">
<item name="android:backgroundStacked">@drawable/tab_bg</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:src">@drawable/tab_bg</item>
<item name="android:scaleType">matrix</item>
</style>
在某些设备上,操作栏仍然如下所示; http://i.imgur.com/yQN67J3.png
答案 0 :(得分:-1)
您可以使用scaleType(http://developer.android.com/reference/android/widget/ImageView.ScaleType.html)
执行此操作您使用ImageView而不是背景将其作为第一个布局元素并为其指定android:scaleType属性:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/backgrnd"
android:scaleType="matrix" />
...
rest layout components here
...
</RelativeLayout>
或drawable xml