为什么我的布局在Xperia Z上显示错误?

时间:2014-07-30 06:54:27

标签: android android-layout

我在Xperia Z上的布局渲染有问题。我在布局上有2个按钮,它应该采用其父级的大小。不幸的是,手机无法做到这一点。这是我的布局代码:

<RelativeLayout>
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <View
        android:layout_width="match_parent"
        android:layout_height="250dp"
        class="android.support.v4.view.ViewPager"
        android:id="@+id/View_Pager_Layout_View_Pager"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:text="X"
        android:visibility="gone"
        android:layout_alignParentLeft="true"
        android:id="@+id/View_Pager_Layout_Exit_Image_Button_2"/>

    <ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:src="@android:drawable/ic_delete"
        android:scaleType="fitXY"
        android:background="@drawable/selector_button"
        android:visibility="gone"
        android:layout_alignParentRight="true"
        android:id="@+id/View_Pager_Layout_Exit_Image_Button_1"/>

    <RelativeLayout
        android:id="@+id/View_Pager_Layout_Arrow_Left"
        android:layout_width="50dp"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/View_Pager_Layout_Exit_Image_Button_2"/>

    <RelativeLayout
        android:layout_width="50dp"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:background="#FF0000"
        android:id="@+id/View_Pager_Layout_Arrow_Right"
        android:layout_below="@+id/View_Pager_Layout_Exit_Image_Button_1"/>

    <com.viewpagerindicator.CirclePageIndicator
        android:id="@+id/View_Pager_Layout_View_Pager_Indicator"
        android:layout_alignBottom="@+id/View_Pager_Layout_View_Pager"
        android:layout_width="match_parent"
        android:layout_height="30dp" android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:layout_toRightOf="@+id/View_Pager_Layout_Arrow_Left"
        android:layout_toLeftOf="@+id/View_Pager_Layout_Arrow_Right"/>

</RelativeLayout>
标识为RelativeLayoutView_Pager_Layout_Arrow_Left

View_Pager_Layout_Arrow_Right显示错误。

screenshot

2 个答案:

答案 0 :(得分:0)

正如rekire所提到的,屏幕截图肯定会有所帮助 但我发现你的布局存在一些问题。第一个是父亲RelativeLayout,你立即关闭。所以首先要纠正。
ID View_Pager_Layout_Arrow_Left View_Pager_Layout_Arrow_Right 的其他两个布局正在布局中参考 View_Pager_Layout_Exit_Image_Button_2 View_Pager_Layout_Exit_Image_Button_1 其能见度已经消失。我猜这就是导致问题的原因。我认为你希望它在id为“ View_Pager_Layout_View_Pager ”的视图下面。请纠正,看问题是否解决。

编辑

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">


<ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:text="X"
        android:visibility="gone"
        android:layout_alignParentLeft="true"
        android:id="@+id/View_Pager_Layout_Exit_Image_Button_2"
    android:layout_above="@+id/View_Pager_Layout_Arrow_Left"/>

<ImageButton
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:src="@android:drawable/ic_delete"
        android:scaleType="fitXY"
        android:background="@drawable/selector_button"
        android:visibility="gone"
        android:layout_alignParentRight="true"
        android:id="@+id/View_Pager_Layout_Exit_Image_Button_1"
    android:layout_above="@+id/View_Pager_Layout_Arrow_Right"/>

<RelativeLayout
        android:id="@+id/View_Pager_Layout_Arrow_Left"
        android:layout_width="50dp"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"/>


<RelativeLayout
        android:layout_width="50dp"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:background="#FF0000"
        android:id="@+id/View_Pager_Layout_Arrow_Right"/>

 <view
            android:layout_width="0dp"
        android:layout_toRightOf="@id/View_Pager_Layout_Arrow_Left"
            android:layout_toLeftOf="@id/View_Pager_Layout_Arrow_Right"
            android:layout_height="250dp"
            class="android.support.v4.view.ViewPager"
            android:id="@+id/View_Pager_Layout_View_Pager"
            android:layout_alignParentTop="true" />


<com.viewpagerindicator.CirclePageIndicator
        android:id="@+id/View_Pager_Layout_View_Pager_Indicator"
        android:layout_alignBottom="@+id/View_Pager_Layout_View_Pager"
        android:layout_width="0dp"
        android:layout_height="30dp"
    android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:layout_toRightOf="@+id/View_Pager_Layout_Arrow_Left"
        android:layout_toLeftOf="@+id/View_Pager_Layout_Arrow_Right"/>

</RelativeLayout>  

我经常测试它。我只是在记事本中编辑它。所以试一试,告诉我是否有效?

答案 1 :(得分:0)

不幸的是android:layout_above无效。我的View_Pager_Layout_Exit_Image_Button_2和View_Pager_Layout_Exit_Image_Button_1不可见。我在其他手机上的布局使用android:layout_below

正确呈现