textview中心不工作

时间:2013-11-19 22:54:47

标签: android textview

我有一个textview设置来显示一个整数。范围从0到255。 textview位于搜索栏的正上方,所以我希望它始终居中。我尝试了重心,但它不适用。我还设置了textview以显示自定义字体,因此我不确定这是否会影响重心选项。使用当前代码,textview似乎是合理的。

         <TextView
    android:id="@+id/textViewR"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="10dp"
    android:gravity="center"
    android:text="255"
    android:textSize="37dp"
    android:textColor="#FF00FF00" />

我显示值

     ViewGreen.setText(" " + G_value);

这是xml文件

    <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<SeekBar
    android:id="@+id/seekBarr"
    android:layout_width="300dp"
    android:layout_height="70dp"
    android:layout_marginLeft="-100dp"
    android:layout_marginTop="180dp"
    android:progressDrawable="@drawable/mastersliderback"
    android:rotation="270"
    android:thumb="@drawable/imgsliderred70" />

<SeekBar
    android:id="@+id/seekBarg"
    android:layout_width="300dp"
    android:layout_height="70dp"
    android:layout_marginLeft="-10dp"
    android:layout_marginTop="180dp"
    android:progressDrawable="@drawable/mastersliderback"
    android:rotation="270"
    android:thumb="@drawable/imgslidergreen70" />

<SeekBar
    android:id="@+id/seekBarb"
    android:layout_width="300dp"
    android:layout_height="70dp"
    android:layout_marginLeft="80dp"
    android:layout_marginTop="180dp"
    android:progressDrawable="@drawable/mastersliderback"
    android:rotation="270"
    android:thumb="@drawable/imgsliderblue70" />


<!-- Here is the textView I am editing to make the center apply -->
<TextView
    android:id="@+id/textViewR"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="10dp"
    android:background="#FF000000"
    android:text="255"
    android:textColor="#FF00FF00"
    android:textSize="38dp" />

<TextView
    android:id="@+id/textViewG"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="110dp"
    android:layout_marginTop="10dp"
    android:text="255"
    android:textColor="#FF00FF00"
    android:textSize="38dp" />

<TextView
    android:id="@+id/textViewB"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="200dp"
    android:layout_marginTop="10dp"
    android:text="255"
    android:textColor="#FF00FF00"
    android:textSize="38dp" />

截图 dimmer

最终工作xml

        <TextView
    android:id="@+id/textViewR"
    android:layout_width="73dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="18dp"
    android:layout_marginTop="10dp"
    android:gravity="center"
    android:text="255"
    android:textColor="#FF00FF00"
    android:textSize="37dp" />

3 个答案:

答案 0 :(得分:0)

android:gravity="center"将内容集中在View内。

使用android:layout_gravity="center"View置于parent

的中心
<TextView
    android:id="@+id/textViewR"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dp"
    android:layout_marginTop="10dp"
    android:gravity="center"
    android:layout_gravity="center_horizontal"  // or just center, whatever you need
    android:text="255"
    android:textSize="37dp"
    android:textColor="#FF00FF00" />

Docs

答案 1 :(得分:0)

在LinearLayout中取TextView,并将重心放在该LinearLayout上。

答案 2 :(得分:0)

我通过将Textview设置为3个字符宽来进行所需的更改。我发布了这些更改。