查看指示符 - 选项卡指示器显示三星手机上的扭曲图像。任何解决方法?

时间:2014-01-29 11:45:17

标签: android android-fragments android-viewpager android-styles viewpagerindicator

我正在尝试使用Viewpage指标编写应用程序 - 由Jake Wharton撰写。它工作得很好,直到我在三星GT-I9082上遇到这个问题。 2个标签指示图像看起来很奇怪。我不知道从哪里开始调试。请帮忙。

以下版本在很多设备上看起来都很好: enter image description here

这是三星GT-I9082看起来迷失方向的版本: enter image description here

任何指针,我在哪里开始调试?

以下是我的代码,它使标签页指示器风格化:

<style name="Widget.HomePageIndicator" parent="Widget">
        <item name="android:gravity">center</item>
        <item name="android:background">@drawable/homepage_tab_indicator</item>
        <item name="android:paddingLeft">22dip</item>
        <item name="android:paddingRight">22dip</item>
        <item name="android:paddingTop">5dp</item>
        <item name="android:paddingBottom">5dp</item>
        <item name="android:textSize">15sp</item>
        <item name="android:textColor">@android:color/white</item>
        <item name="android:maxLines">1</item>
    </style>

以下是homepage_tab_indicator.xml

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Non focused states -->
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/home_screen_tab_unselected_holo" />
    <item android:state_focused="false" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/home_screen_selected_holo" />

    <!-- Focused states -->
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/home_screen_unselected_focused_holo" />
    <item android:state_focused="true" android:state_selected="true"  android:state_pressed="false" android:drawable="@drawable/home_screen_selected_focused" />

    <!-- Pressed -->
    <!--    Non focused states -->
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/home_screen_tab_unselected_pressed_holo" />
    <item android:state_focused="false" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/home_screen_selected_pressed_holo" />

    <!--    Focused states -->
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/home_screen_tab_unselected_pressed_holo" />
    <item android:state_focused="true" android:state_selected="true"  android:state_pressed="true" android:drawable="@drawable/home_screen_selected_pressed_holo" />
</selector>

1 个答案:

答案 0 :(得分:0)

经过很长一段时间 - 我解决了这个问题。希望这有助于任何遇到这种奇怪行为的人。问题是我没有为所有状态使用9个补丁图像。这导致某些设备出现渲染问题。生成9个补丁图像后,我得到了预期的输出。另外,不要忘记将.9放在每9个补丁图像的命名中 - 我没有这样做。这个问题的另一个原因。