アラビア語のテキストがあるので、右側からテキストを開始するために重力を右に設定します。テキストは今から始まります。しかし、別の問題は、ページの上部からテキストのレンダリングが開始されることです。しかし、テキストを垂直方向に中央揃えする必要があります。いくつかのバリエーションを試しましたが、垂直方向の中央に配置できませんでした。
これが私のxmlファイルのサンプルです。
<LinearLayout
Android:id="@+id/linearLayout5"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:gravity="right"
Android:orientation="vertical" >
<TextView
Android:id="@+id/textView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_vertical"
Android:layout_marginBottom="23dp"
Android:gravity="right"
Android:padding="@dimen/padding_maintextview"
Android:text="@string/text"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:textSize="20sp" />
</LinearLayout>
問題は上記のtextviewにあります。
ここに、XMLファイル全体を配置しました。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/page1background"
Android:paddingRight="@dimen/padding_large" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="196dp"
Android:layout_height="wrap_content"
Android:layout_centerHorizontal="true"
Android:gravity="center_horizontal"
Android:paddingTop="@dimen/padding_Title_Top"
Android:text="@string/text"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:textSize="20sp" />
<LinearLayout
Android:id="@+id/linearLayout1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_below="@id/textView1"
Android:gravity="center_horizontal"
Android:orientation="vertical" >
<View
Android:id="@+id/view1"
Android:layout_width="fill_parent"
Android:layout_height="5dp" />
</LinearLayout>
<ScrollView
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_above="@id/linearLayout2"
Android:layout_below="@id/linearLayout1"
Android:layout_gravity="center"
Android:padding="@dimen/padding_maintextview" >
<LinearLayout
Android:id="@+id/linearLayout5"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:gravity="right"
Android:orientation="vertical" >
<TextView
Android:id="@+id/textView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center_vertical"
Android:layout_marginBottom="23dp"
Android:gravity="right"
Android:padding="@dimen/padding_maintextview"
Android:text="@string/text"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:textSize="20sp" />
</LinearLayout>
</ScrollView>
<LinearLayout
Android:id="@+id/linearLayout2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true" >
<View
Android:id="@+id/view2"
Android:layout_width="fill_parent"
Android:layout_height="100dp" />
</LinearLayout>
<LinearLayout
Android:id="@+id/linearLayout3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true" >
<ImageButton
Android:id="@+id/back_arrow"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_marginBottom="30dp"
Android:layout_marginRight="45dp"
Android:layout_weight=".5"
Android:background="@drawable/backbut"
Android:contentDescription="@string/Description"
Android:onClick="onClickBtn"
Android:src="@drawable/backarrowpress" />
<ImageButton
Android:id="@+id/copyButton"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_marginLeft="45dp"
Android:layout_weight=".5"
Android:background="@drawable/copy"
Android:contentDescription="@string/Description"
Android:onClick="onClickBtn" />
</LinearLayout>
</RelativeLayout>
誰が私が間違いをした場所を教えてもらえますか?問題は明らかだと思います。コメントで教えていない場合。
これにより、回答を確認した後、更新されたコードを追加しました。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="@drawable/page1background"
Android:paddingRight="@dimen/padding_large" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="196dp"
Android:layout_height="wrap_content"
Android:layout_centerHorizontal="true"
Android:gravity="center_horizontal"
Android:paddingTop="@dimen/padding_Title_Top"
Android:text="@string/text"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:textSize="20sp" />
<LinearLayout
Android:id="@+id/linearLayout1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_below="@id/textView1"
Android:gravity="center_horizontal"
Android:orientation="vertical" >
<View
Android:id="@+id/view1"
Android:layout_width="fill_parent"
Android:layout_height="5dp" />
</LinearLayout>
<ScrollView
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_above="@id/linearLayout2"
Android:layout_below="@id/linearLayout1"
Android:layout_gravity="center"
Android:layout_centerInParent="true"
Android:padding="@dimen/padding_maintextview" >
<LinearLayout
Android:id="@+id/linearLayout5"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:gravity="right"
Android:orientation="vertical" >
<TextView
Android:id="@+id/textView2"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_gravity="center_vertical"
Android:layout_marginBottom="23dp"
Android:gravity="center_vertical|right"
Android:padding="@dimen/padding_maintextview"
Android:text="@string/text"
Android:textAppearance="?android:attr/textAppearanceMedium"
Android:textSize="20sp" />
</LinearLayout>
</ScrollView>
<LinearLayout
Android:id="@+id/linearLayout2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true" >
<View
Android:id="@+id/view2"
Android:layout_width="fill_parent"
Android:layout_height="100dp" />
</LinearLayout>
<LinearLayout
Android:id="@+id/linearLayout3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentBottom="true"
Android:layout_centerHorizontal="true" >
<ImageButton
Android:id="@+id/back_arrow"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_marginBottom="30dp"
Android:layout_marginRight="45dp"
Android:layout_weight=".5"
Android:background="@drawable/backbut"
Android:contentDescription="@string/Description"
Android:onClick="onClickBtn"
Android:src="@drawable/backarrowpress" />
<ImageButton
Android:id="@+id/copyButton"
Android:layout_width="0dip"
Android:layout_height="wrap_content"
Android:layout_marginLeft="45dp"
Android:layout_weight=".5"
Android:background="@drawable/copy"
Android:contentDescription="@string/Description"
Android:onClick="onClickBtn" />
</LinearLayout>
</RelativeLayout>
しかし、私は同じ状況にいます。テキストは垂直方向に中央揃えされません
TextView属性は次のようにする必要があります。
<TextView ...
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:gravity="center_vertical|right" ../>
さて、これらを行う必要がある理由を説明し、
Android:layout_width="match_parent"
Android:layout_height="match_parent"
TextViewをmatch_parent
またはfill_parent
に設定します。そのようになりたくない場合は、match_parent
に指定された値をlayout_height
に与えて、垂直中心の重力のためのスペースを確保する必要があります。 Android:layout_width="match_parent"
は、TextViewを右側に揃えてTextViewの親レイアウトを尊重できるようにするために必要です。
これで、Android:gravity
がTextViewの位置合わせの内容になります。 Android:layout_gravity
は、親レイアウトに合わせてTextViewのアライメントを行います。
更新:
以下のように、コメントはfill_parent
の代わりにmatch_parent
を使用します。 (一部のデバイスの問題。)
このように使用して、中心に何かを作成します
Android:layout_gravity="center"
Android:gravity="center"
更新しました :
Android:layout_gravity="center|right"
Android:gravity="center|right"
更新:テキストビューからMarginBottomを削除するだけです。
<LinearLayout
Android:id="@+id/linearLayout5"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center" >
<TextView
Android:id="@+id/textView2"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:gravity="center|right"
Android:text="hello"
Android:textSize="20dp" />
</LinearLayout>
問題は、textviewのフォントのパディングです。テキストビューに追加するだけです:
Android:includeFontPadding="false"
Android:gravity="center_vertical|right"
親LinearLayout内、またはRelativeLayout内にいる場合は、Android:layout_centerInParent="true"
scrollView
内。
相対レイアウトでは、textviewの高さを指定する必要があります。
Android:layout_height="100dp"
または、行属性を指定します。
Android:lines="3"