1

私は現在カメラ API を使用しており、ビデオ録画を開始および停止するボタンを実装したいと考えています。ボタンには、video_start_default、video_start_pressed、video_stop_default、video_stop_pressed の 4 つの異なる画像があります。押したとき、およびビデオの開始/停止後にレイアウトを変更する必要があります。

そのためにこのxmlファイルを作成しました。

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
<item     
    android:state_selected="false" 
    android:state_pressed="false"   
    android:drawable="@drawable/video_start_default" /> 
<item    
    android:state_selected="false"   
    android:state_pressed="true" 
    android:drawable="@drawable/video_start_pressed" /> 
<item
    android:state_selected="true"     
    android:state_pressed="false"    
    android:drawable="@drawable/video_stop_default" /> 
<item
    android:state_selected="true"
    android:state_pressed="true"
    android:drawable="@drawable/video_stop_pressed" /> 
<item android:drawable="@drawable/video_default" /> 
</selector> 

作業の開始と停止の間で変更を行うために、onclicklistener で select 属性を設定します。

  if(videoButton.isSelected())
                videoButton.setSelected(false);
            else{
                videoButton.setSelected(true); 
            }

基本的にこれは機能します。

video_start_default を押している間、video_start_pressed は正しく表示されますが、問題は、video_start_pressed を解放した後、video_stop_default の代わりに video_stop_pressed がミリ秒間表示されることです。奇妙なことに、video_stop_pressed をクリックしても問題は発生しません。ここに video_start_default が直接表示されます。

説明が混乱しないことを願っています

4

1 に答える 1

2

再生状態用と一時停止状態用の 2 つのセレクターを作成する必要があると思います。

あなたのプロジェクトで大いに役立つ素敵なチュートリアルがあります

このリンクを見る必要があります。

ここに画像の説明を入力

乾杯

于 2012-05-27T12:38:39.453 に答える