0

我有自己的選取框類的實現,因爲用戶可以決定我的音樂應用程序中的文本的選取框行爲(無滾動,滾動一次,滾動重複)。由於在佈局中不斷更新定時器文本(id:tv_playtime),因此每當用戶開始播放歌曲時都會出現問題。自定義類選框文本重新啓動,同時更改複雜佈局中的另一個文本視圖

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <RelativeLayout 
    android:id="@+id/main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <RelativeLayout 

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

      android:layout_width="48dp" 
      android:layout_height="48dp" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:clickable="true" 
      android:onClick="onButtonHomeClick"> 
      <ImageView 

       android:layout_width="48dp" 
       android:layout_height="48dp" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       /> 
      <ImageView 

       android:layout_width="64.67dp" 
       android:layout_height="25.33dp" 
       android:layout_alignParentTop="true" 
       android:layout_marginLeft="2dp" 

       android:background="@null" 
       android:duplicateParentState="true" 
       android:scaleType="fitStart" 

       android:visibility="gone" /> 
     </RelativeLayout> 
     <!--home buttons--> 
     <TextView 

      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:text="Media Player" 
      android:textColor="@color/white" 
      android:textSize="20dp" /> 
     <ImageView 
      android:id="@+id/iv_settings_btn_passenger" 
      android:layout_width="48dp" 
      android:layout_height="48dp" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      /> 
    </RelativeLayout> 
    <!--media player home--> 
    <RelativeLayout 

     android:layout_width="wrap_content" 
     android:layout_height="36dp" 
     > 
     <ImageView 

      android:layout_width="36dp" 
      android:layout_height="36dp" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 

      android:tint="@color/white" 
      android:visibility="invisible" /> 
     <ImageView 

      android:layout_width="36dp" 
      android:layout_height="36dp" 

      /> 
     <ImageView 

      android:layout_width="36dp" 
      android:layout_height="36dp" 

      /> 
     <ImageView 

      android:layout_width="36dp" 
      android:layout_height="36dp" 

      /> 
    </RelativeLayout> 
    <!-- playing indicator--> 
    <RelativeLayout 

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

      android:layout_width="240dp" 
      android:layout_height="240dp" 
      android:layout_centerInParent="true" 
      android:layout_alignParentTop="true"> 
      <ImageView 

       android:layout_width="240dp" 
       android:layout_height="240dp" 
      /> 
     </RelativeLayout> 
     <RelativeLayout 

      android:layout_width="wrap_content" 
      android:layout_height="130dp" 

      android:layout_marginTop="5dp"> 
      <ImageView 

       android:layout_width="30dp" 
       android:layout_height="30dp" 

       android:visibility="gone"/> 
      <ImageView 

       android:layout_width="30dp" 
       android:layout_height="24dp" 


       android:visibility="gone"/> 
      <ImageView 

       android:layout_width="30dp" 
       android:layout_height="24dp" 


       android:visibility="gone"/> 
      <myClass.MarqueeTextView 
       android:id="@+id/marqueetext1" 
       android:layout_width="match_parent" 
       android:layout_height="30dp" 
       android:layout_centerInParent="true" 
       android:layout_marginLeft="60dp" 
       android:layout_marginRight="60dp" 
       android:clickable="true" 
       android:ellipsize="marquee" 
       android:focusable="true" 
       android:marqueeRepeatLimit="0" 
       android:scrollHorizontally="true" 
       android:singleLine="true" 
       android:text="Song Name" 
       android:textColor="@android:color/white" 
       android:textSize="24dp" /> 
      <myClass.MarqueeTextView 
       android:id="@id/marqueetext2" 
       android:layout_width="match_parent" 
       android:layout_height="20dp" 
       android:layout_below="@+id/marqueetext1" 
       android:layout_centerInParent="true" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="60dp" 
       android:layout_marginRight="60dp" 
       android:clickable="true" 
       android:ellipsize="marquee" 
       android:focusable="true" 
       android:marqueeRepeatLimit="0" 
       android:scrollHorizontally="true" 
       android:singleLine="true" 
       android:text="Artist Name" 
       android:textColor="@android:color/white" 
       android:textSize="18dp" /> 
      <myClass.MarqueeTextView 
       android:id="@id/marqueetext3" 
       android:layout_width="150dp" 
       android:layout_height="20dp" 
       android:layout_alignParentBottom="true" 
       android:layout_below="@+id/marqueetext2" 
       android:layout_marginLeft="60dp" 
       android:layout_marginTop="8dp" 
       android:clickable="true" 
       android:ellipsize="marquee" 
       android:focusable="true" 
       android:marqueeRepeatLimit="0" 
       android:scrollHorizontally="true" 
       android:singleLine="true" 
       android:text="Album Name" 
       android:textColor="@color/white" 
       android:textSize="18dp"/> 
      <TextView 
       android:id="@+id/tv_playtime" 
       android:layout_width="wrap_content" 
       android:layout_height="20dp" 
       android:layout_alignParentRight="true" 
       android:layout_below="@+id/marqueetext2" 
       android:layout_marginRight="20dp" 
       android:layout_marginTop="8dp" 
       android:text="00.00" 
       android:textColor="@color/white" 
       android:textSize="18dp" /> 
     </RelativeLayout> 
    </RelativeLayout> 
    <!--media player tracks--> 
    <RelativeLayout 

     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginBottom="70dip" 
     android:visibility="gone"> 
     <ImageView 

      android:layout_width="30dip" 
      android:layout_height="30dip" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true" 
      android:layout_marginLeft="14dip" 
      /> 
     <myClass.MarqueeTextView 

      android:layout_width="match_parent" 
      android:layout_height="30dip" 
      android:layout_alignParentBottom="true" 
      android:layout_marginLeft="14dip" 
      android:layout_marginRight="5dip" 
      android:ellipsize="marquee" 
      android:marqueeRepeatLimit="0" 
      android:scrollHorizontally="true" 
      android:singleLine="true" 
      android:textSize="20sp" 
      android:textStyle="bold" /> 
    </RelativeLayout> 
    <!--mood--> 
    <myClass.GestureView 

     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     /> 
    <!--gestures--> 
    <RelativeLayout 

     android:layout_width="match_parent" 
     android:layout_height="44dp" 
     android:layout_alignParentBottom="true" 
     > 
     <RelativeLayout 

      android:layout_width="match_parent" 
      android:layout_height="16dp"> 
     </RelativeLayout> 
     <RelativeLayout 

      android:layout_width="match_parent" 
      android:layout_height="28dp" 
      android:layout_alignParentBottom="true" 

      > 
      <RelativeLayout 

       android:layout_width="match_parent" 
       android:layout_height="28dp"> 
       <TextView 

        android:layout_width="wrap_content" 
        android:layout_height="20dp" 
        android:layout_alignParentRight="true" 
        android:layout_marginLeft="50dp" 
        android:layout_marginRight="20dp" 
        android:text="00:00" 
        android:textColor="@android:color/white" 
        android:textSize="18dp" 
        android:visibility="gone" /> 
       <TextView 

        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="7dip" 
        android:text="03:50" 
        android:textColor="@android:color/white" 
        android:textSize="14dp" 
        android:textStyle="bold" 
        android:visibility="gone" /> 
       <SeekBar 

        style="@style/seekBarMyStyle" 
        android:layout_width="match_parent" 
        android:layout_height="16dp" 
        android:layout_alignParentBottom="true" 
        android:layout_marginLeft="30dp" 
        android:layout_marginRight="30dp" 
        android:maxHeight="2dp" 
        android:minHeight="2dp" 
        android:visibility="visible" /> 
      </RelativeLayout> 
     </RelativeLayout> 

    </RelativeLayout> 
    <RelativeLayout 

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

      android:layout_width="match_parent" 
      android:layout_height="26dip" 
      android:layout_alignParentTop="true"> 
      <TextView 

       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:shadowColor="@color/text_shadow_color" 
       android:shadowDx="2.5" 
       android:shadowDy="2.5" 
       android:shadowRadius="0.01" 
       android:text="06:18" 
       android:textColor="@color/white" 
       android:textSize="15sp" 
       android:textStyle="bold" /> 
      <ImageView 

       android:layout_width="26dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 
       /> 
      <ImageView 

       android:layout_width="26dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 
       android:layout_toLeftOf="@id/iv_mp_battery" 

       android:visibility="gone" /> 
      <ImageView 

       android:layout_width="26dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 


       android:visibility="gone" /> 
      <ImageView 

       android:layout_width="26dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 

       /> 
      <ImageView 
       android:layout_width="86dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 
       android:layout_toLeftOf="@id/iv_mp_signal" 
       /> 
      <ImageView 

       android:layout_width="86dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 

       /> 
      <ImageView 

       android:layout_width="86dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 

       /> 
      <ImageView 

       android:layout_width="86dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 

       /> 
      <ImageView 

       android:layout_width="86dip" 
       android:layout_height="match_parent" 
       android:layout_centerVertical="true" 

       /> 
     </RelativeLayout> 

    </RelativeLayout> 
    </RelativeLayout> 
    <LinearLayout 
    android:background="@color/darkbackgroundcoloralpha" 

    android:layout_width="match_parent" 
    android:layout_height="176dp" 
    android:layout_marginTop="50dp" 
    android:orientation="vertical" 
    android:visibility="gone" /> 
</FrameLayout> 

我想控制的marqueetext1這裏,當歌曲暫停(由於定時器文本字段沒有更新),這是工作的罰款滾動行爲。

我嘗試過類似的問題,但他們都不是爲我工作

注:我使用gestu (下一個,上一個,播放,暫停)

我的假設是它的發生,因爲我已經通過調試自定義選取框類的屬性不影響選取框重新啓動在這裏的佈局。我已經覆蓋onFocusChanged,onWindowFocusChanged和isFocused方法在我派生的Marquee類中使Textview全部集中。這裏缺少什麼?

回答

0

我的計時器在選取框文本字段上重疊;所以限制了定時器文本視圖的寬度解決了問題。

<TextView 
       android:id="@+id/tv_playtime" 
       android:layout_width="50dp" 
       android:layout_height="20dp" 
       android:layout_alignParentRight="true" 
       android:layout_below="@+id/marqueetext2" 
       android:layout_marginRight="20dp" 
       android:layout_marginTop="8dp" 
       android:text="00.00" 
       android:textColor="@color/white" 
       android:textSize="18dp" /> 
相關問題