在此屏幕截图中:
TextView“Vidy”的文本不是垂直居中的,我认为它位于顶部,这里是代码:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="*"
android:shrinkColumns="*"
style="@style/BazarStyle" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/BazarTitleStyle"
android:layout_span="5"
android:gravity="center"
android:layout_marginBottom="5dp">
<TextView
android:id="@+id/title_tv"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:singleLine="true"
android:scrollHorizontally="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:textColor="#fff"
android:gravity="center"
style="@style/BazarStyleTransparent"/>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvtype"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/od_type"
style="@style/BazarStyleLabel"
/>
<Spinner
android:id="@+id/type"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<requestFocus />
</Spinner>
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvproduit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/od_product"
style="@style/BazarStyleLabel" />
<Spinner
android:id="@+id/produit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvtsena"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/od_market"
style="@style/BazarStyleLabel" />
<Spinner
android:id="@+id/tsena"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvqte"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/od_quantity"
style="@style/BazarStyleLabel" />
<EditText
android:id="@+id/qte"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="number"/>
<EditText
android:id="@+id/fatra_qte"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"/>
</TableRow>
<TableRow
android:id="@+id/tableRow6"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvnorme"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/od_norm"
style="@style/BazarStyleLabel" />
<EditText
android:id="@+id/norme"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:id="@+id/tableRow7"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/tvprix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/od_price"
style="@style/BazarStyleLabel" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="horizontal" >
<EditText
android:id="@+id/prix"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="number" />
<TextView
android:id="@+id/monnaie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/BazarStyleTransparent" />
<TextView
android:id="@+id/barre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" / "
style="@style/BazarStyleTransparent" />
<EditText
android:id="@+id/vidy_fatra"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginRight="20dp"
android:inputType="text" />
</LinearLayout>
</TableRow>
<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<Button
android:id="@+id/ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_ok" />
</TableRow>
</TableLayout>
样式代码:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="BazarStyle">
<item name="android:background">@color/bg_color</item>
<item name="android:textColor">@color/txt_color</item>
</style>
<style name="BazarTitleStyle">
<item name="android:background">@color/bg_topbar_color</item>
<item name="android:textColor">@color/txt_color</item>
</style>
<style name="BazarStyleTransparent">
<item name="android:background">@null</item>
<item name="android:textColor">@color/txt_color</item>
</style>
<style name="BazarStyleLabel">
<item name="android:background">@null</item>
<item name="android:textColor">@color/txt_color</item>
<item name="android:layout_marginLeft">20dp</item>
</style>
</resources>
<color name="bg_color">#6cb650</color>
<color name="bg_topbar_color">#4d7e3a</color>
<color name="txt_color">#FFF</color>
那么如何使文本垂直居中?
答案 0 :(得分:1)
Put android:gravity="center_vertical" in TableRow with id tableRow7.......
<TableRow
android:id="@+id/tableRow7"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical" >
<TextView
android:id="@+id/tvprix"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="od_price"
style="@style/BazarStyleLabel" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="horizontal" >
<EditText
android:id="@+id/prix"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="number" />
<TextView
android:id="@+id/monnaie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/BazarStyleTransparent" />
<TextView
android:id="@+id/barre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" / "
style="@style/BazarStyleTransparent" />
<EditText
android:id="@+id/vidy_fatra"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginRight="20dp"
android:inputType="text" />
</LinearLayout>
</TableRow>
答案 1 :(得分:-1)
在textview上使用以下属性
android:gravity="center_vertical"
或
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:text="Check Vertical center"
android:textSize="21sp"
android:textStyle="bold" />
http://developer.android.com/reference/android/widget/TextView.html