2014-03-03 2 views
1

나는 textque에 천막 코드를 작성했습니다.arabic의 안드로이드 윤곽

언어를 영어에서 아랍어로 변경할 때.

텍스트의 방향은 오른쪽에서 왼쪽으로 변경되지만 원본은 영어로 왼쪽에서 오른쪽으로 변경되지만 선택 윤곽의 방향은 변경되지 않고 항상 오른쪽에서 왼쪽으로 스크롤됩니다.

내 코드

<TextView android:id="@+id/label" android:layout_width="@dimen/menu_item_txt_width" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="@string/empty" android:textColor="@drawable/menu_txt_color" android:textSize="@dimen/menu_item_txt_size" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:singleLine="true" />

아래로 사람이 나에게 그것을 해결하는 간단한 방법을 제공 할 수 있습니까? 영어에서

텍스트 방향입니다

"이동은 [888888888]는"---> 텍스트 방향이 아랍어에서 왼쪽에서 오른쪽 "[888888888] نقل الى"

그러나의를 오른쪽에서 왼쪽으로 나는 텍스트 뷰를 집중하지 않을 때 천막은

영어 버전에서

, 그것은 -----> "["88888을

을 오른쪽에서 왼쪽을 한 후 나는 그것이 스크롤 표시됩니다 초점 88] "이동"가 표시됩니다

아랍어 버전에서 텍스트 뷰를 집중하지 않으면 "88"نقل الى "이 표시되고 스크롤하면"نقل "-----> 오른쪽에서 왼쪽으로 표시됩니다.

+0

당신이 actully 수행 할 작업 ? – rajshree

+0

@rajshree 나는 OP가 오른쪽에서 왼쪽으로 움직이는 효과를 원한다고 생각합니다. – waqaslam

+0

사용이의 도움이 있습니다 : http://stackoverflow.com/questions/6704080/how-to-reverse-the-direction-of-marquee-of-a-textview를 확인할 필요가 –

답변

-1

네이티브 방법은 없습니다. 즉, 원하는 것을 수행 할 수있는 기본 제공 방법이 없지만 그런 식으로 작동하도록하는 방법이 있습니다. TextViewHorizontalScrollView에 넣으면 스크롤바의 위치로 제어해야합니다. 첫째,이 함께 스크롤 위치 얻을 : 다음 단계는 Handler을 정의하고 스크롤 한계에 도달 할 때까지 재귀 적으로 호출하는 것입니다

scrollPos = (int) tv.getLayout().getLineWidth(0); 

을이 작동합니다 :

Handler hsHandler = new Handler() { 
    @Override 
    public void handleMessage(Message msg) { 
    // Being hsView your HorizontalScrollView 
    hsView.scrollTo(scrollPos, 0); 
    scrollPos--; 
    if (scrollPos >= 0) 
     hsHandler.sendEmptyMessage(0); 
    } 
}; 
+0

붙여 넣기를 복사한다고 대답하지 않는 코멘트가 있어야합니다. –

+0

그건 복사 및 붙여 넣기가 아니라 몇 년 전에 내 프로젝트 중 하나에서 사용한 해결책이며 여전히 작동합니다. 나는 실제로 그것을 프로젝트에서 복사했습니다. – nKn

+0

친애하는 nKn, 답장을 보내 주셔서 감사합니다. 이전에는이 ​​코드를 사용해 봤지만 항상 tv.getLayout()에서 NullPointerException을 얻습니다. \t user3374004