2016-12-11 5 views
1

내 응용 프로그램 막대에이 사용자 정의 레이아웃이 있습니다. 내 문제는 텍스트가 완전히 표시되지 않을뿐만 아니라 텍스트가 오른쪽 대신 왼쪽에 붙어 있다는 것입니다. 코드 및 layout.xml 파일에서 모든 중력, 방향 layout_gravity 특성을 right 및 rtl로 설정했습니다. 그러나 성공하지 못했습니다. 여기 ActionBar의 사용자 정의 레이아웃 내의 Textview가 rtl이되지 않습니다

는 스크린 샷입니다 (텍스트 만이 "오른쪽"부분을 볼 수 있습니다로 텍스트 뷰가 표시되어 내부에 "바로 충실해야".)

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="center_vertical|right" 
android:background="@color/black1" 
android:gravity="right|center_vertical" 
android:layoutDirection="rtl" 
android:orientation="horizontal"> 

<ImageView 
    android:id="@+id/search_mag_icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@color/blue4main" 
    android:src="@drawable/abc_ic_search_api_mtrl_alpha" /> 

<com.jahanjooy.haftdong.views.DelayAutoCompleteTextView 
    android:id="@+id/text_view_vicinity" 
    android:layout_width="150dp" 
    android:layout_height="wrap_content" 
    android:background="@color/black1" 
    android:gravity="right" 
    android:imeOptions="flagNoExtractUi|actionSearch" 
    android:inputType="textCapSentences" 
    android:layoutDirection="rtl" 
    android:shadowColor="@color/white1" 
    android:textColor="@android:color/white" /> 


<TextView 
    android:id="@+id/text_view_hint" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 


    android:layout_gravity="center_vertical|right" 
    android:background="@color/blue1" 
    android:gravity="right" 
    android:layoutDirection="rtl" 
    android:text="should go right" 
    android:textColor="@color/white1" 
    android:textSize="15dp" /> 

<ProgressBar 
    android:id="@+id/progress_bar" 
    style="?android:attr/progressBarStyleSmall" 
    android:layout_width="20dp" 
    android:layout_height="20dp" 
    android:indeterminate="true" 
    android:indeterminateTint="@android:color/white" 
    android:indeterminateTintMode="src_atop" 
    android:visibility="gone" /> 

<ImageView 
    android:id="@+id/ic_filter_cone" 
    android:layout_width="30dp" 
    android:layout_height="30dp" 
    android:src="@drawable/ic_filter" /> 

활동 :

/**/ 
    /**/ 
    Toolbar parent =(Toolbar) layout.getParent();//first get parent toolbar of current action bar 
    parent.setContentInsetsAbsolute(100,10); 


    DisplayMetrics metrics = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(metrics); 

    ActionBar.LayoutParams lp = (ActionBar.LayoutParams) layout.getLayoutParams(); 
    lp.rightMargin= 0; 
    lp.width = metrics.widthPixels/2; 
    lp.gravity = Gravity.RIGHT; 
    layout.setLayoutParams(lp); 
    layout.setLayoutDirection(View.LAYOUT_DIRECTION_RTL); 

    TextView hint = (TextView) findViewById(R.id.text_view_hint); 
    LinearLayout.LayoutParams ll= (LinearLayout.LayoutParams) hint.getLayoutParams(); 
    ll.rightMargin = 0; 
    ll.width = metrics.widthPixels/2; 
    ll.gravity = Gravity.RIGHT; 
    hint.setLayoutParams(ll); 
    hint.setLayoutDirection(View.LAYOUT_DIRECTION_RTL); 
    hint.setTextDirection(View.TEXT_DIRECTION_RTL); 

     /**/ 

답변

0
android:shadowColor="@color/white1" 
    android:textColor="@android:color/white" /> 

<TextView 
    android:id="@+id/text_view_hint" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical|right" 
    android:background="@color/blue1" 
    android:gravity="right" 
    android:layoutDirection="rtl" 
    android:text="should go right" 
    android:textColor="@color/white1" 
    android:textSize="15dp" /> 

<ProgressBar 
    android:id="@+id/progress_bar" 
    style="?android:attr/progressBarStyleSmall" 
,515,

RelativeLayoutTextView를 교체하고 TextViewRelativeLayout에게 제공 it.as의 TextView

<RelativeLayout 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:background="@color/blue1"> 

<TextView 
    android:id="@+id/text_view_hint" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="should go right" 
    android:textColor="@color/white1" 
    android:textSize="15dp" 
    android:layout_alignParentRight="true"/> 

</RelativeLayout> 

아래 도시 wrap_content를 필요한 폭을 넣어. TextView 배경을 RelativeLayout으로 설정하십시오. 추가

android:layout_alignParentRight="true" 

TextView을 오른쪽으로 이동합니다. 다른 중력 속성을 제거했습니다.