2011-12-08 46 views
0

我使用的是SlidingDrawer从右到左,它的工作很好,但我已经与Android的看不见的部分问题:处理,这是一个LinearLayout中。 我不得不使用具有fill_parent属性的LinearLayout来允许将我的按钮放在视图顶部的处。如果我把我的手柄放在我的ImageView上, 它变成垂直居中在中间,我不想要这个。SlidingDrawer有布局的处理看不见的,垂直中心

这里是我的代码:

<SlidingDrawer 
      android:id="@+id/SlidingDrawer" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_alignParentTop="true" 
      android:content="@+id/contentLayout" 
      android:handle="@+id/slideHandleButton" 
      android:orientation="horizontal" 
      android:padding="0dp" > 

      <LinearLayout 

       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:orientation="vertical" > 

       <ImageView 
        android:id="@+id/slideHandleButton" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:src="@drawable/profile_top_panel_background" /> 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/contentLayout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/slideHandleButton" 
       android:background="@drawable/profile_slider_attributes_background" 
       android:orientation="vertical" 
       android:padding="10dip" > 

       <ScrollView 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:fillViewport="true" > 

        <LinearLayout 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:orientation="vertical" > 

      //DISPLAY CONTENT 

        </LinearLayout> 
       </ScrollView> 
      </LinearLayout> 
     </SlidingDrawer> 

回答

1

我发现将手柄移动到我想要的确切位置,唯一的办法就是延长slidingdrawer类和修改onLayout方法。

sldingdrawer源代码中的这一行确定句柄的位置。

handle.layout(childLeft, childTop, childLeft + childWidth, childTop + childHeight); 

延伸slidingdrawer并尝试调整值,直到你得到你想要的位置。

+0

对不起,我错过了你的答案!我明天尝试! –