2011-07-10 15 views
0

解決策を探していましたが、まだ分かっていますが、依然として質問する必要があります。
私は指を使って引き出しを開きます。
ユーザーがアイコンをポイントした後で、引き出しを閉じます。アンドロイド手動で開かれたSlidingDrawerを閉じるにはどうすればいいですか?

幅= 110は、引き出しに3つのアイコンがあり、下の画像のように右側に のままにしておきたいからです。この

<translate android:fromXDelta="80%" android:toXDelta="100%" android:duration="300"/> 

を使用して

イムは、それは一種の動作しますが、それが閉じた後、再び飛び出します。なぜ.. ..

また、width = 110を石で書くのは良いことではありませんが、私は より現時点でより良い解決策を思い付くことができませんでした。 text_ball、delete_ball、plus_ballはすべて のldpi、hdpi、およびmdpiのセットです。

申し訳ありませんが、これは2つの質問のようです。正しい答えを調理するためにできるだけ多くの情報を入力しようとしています。

<LinearLayout android:id="@+id/linearLayoutSlidingDrawerRight" 
    android:layout_width="110dip" 
    android:layout_height="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_alignParentRight="true" 
    android:layout_centerVertical="true" 
    > 

    <com.bent.solid.editimage.WrappingSlidingDrawer android:id="@+id/slidingDrawerRight" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:handle="@+id/slideHandleButtonRight" 
     android:content="@+id/contentLayout2" 
     android:orientation="horizontal" 
     android:background="@null"> 

     <ImageButton android:id="@+id/slideHandleButtonRight" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@drawable/icon" 
      android:onClick="btnSlidingDrawerHandler"> 
     </ImageButton> 

     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/contentLayout2" 
      android:orientation="vertical" 
      android:background="@null" 

      > 

      <ImageButton android:id="@+id/btn_A" 
       android:layout_height="60dip" 
       android:layout_width="60dip" 
       android:text="Button_A" 
       android:background="@android:color/transparent" 
       android:src="@drawable/plus_ball" 
       android:onClick="btnAListener" 
       android:gravity="right" 
       android:scaleType="fitXY"> 
      </ImageButton> 

      <ImageButton android:id="@+id/btn_B" 
       android:layout_height="60dip" 
       android:layout_width="60dip" 
       android:layout_below="@+id/btn_A" 
       android:text="Button_B" 
       android:background="@android:color/transparent" 
       android:src="@drawable/text_ball" 
       android:gravity="right" 
       android:onClick="btnBListener" 
       android:scaleType="fitXY"> 
      </ImageButton> 

      <ImageButton android:id="@+id/btn_C" 
       android:layout_height="60dip" 
       android:layout_width="60dip" 
       android:layout_below="@+id/btn_B" 
       android:text="Button_B" 
       android:background="@android:color/transparent" 
       android:src="@drawable/delete_ball" 
       android:gravity="right" 
       android:onClick="btnCListener" 
       android:scaleType="fitXY"> 
      </ImageButton> 

     </RelativeLayout> 
    </com.bent.solid.editimage.WrappingSlidingDrawer> 
</LinearLayout> 

答えて

1

私が正しくあなたを理解していれば、あなたの質問は非常にこのように簡略化することができます。

私はアニメーションを実行していることだし、アニメーションの終わりに、レイアウトがあります最終的なアニメーション状態ではない。代わりに元の状態に戻ります。これをどうやって止めるのですか?コードで

animはアニメーションの変数であると仮定すると、単にあなたのアニメーションを開始する前にanim.setFillAfter(true);を呼び出します。

+0

ありがとうございました – Erik

関連する問題