在Android中将文字重力更改为顶部

时间:2013-10-02 05:54:49

标签: android textview gravity layout-gravity

我需要将Android文本Gravity动态更改为My ListItem中的TOP。 用于ListItem的代码:

XML布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="@dimen/ma_list_item_height">
                   ..............
<TextView
        android:id="@+id/driver_passage_text_view"
        android:layout_width="0dp"
        android:layout_height="@dimen/ma_list_item_height"
        android:layout_weight="1"
        android:gravity="center_horizontal|center_vertical"
        android:text="Ivanov Ivan Ivanich"
        android:padding="0"
        />

我已阅读有关Gravity和属性setIncludeFontPadding的内容,我已尝试使用它,但在我的情况下它不起作用,使用了代码:

 private void setGravityAndText(TextView textView,String text){
   if(text.length()>24){
        textView.setIncludeFontPadding(true);
        textView.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
   }
    else {
       textView.setIncludeFontPadding(false);
       textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
   }
    textView.setText(text);

}

水平对齐工作成功,但顶部无论如何都不起作用?我做错了什么?

请帮助。

先谢谢。

2 个答案:

答案 0 :(得分:3)

android:gravity移除xml并更改android:height="fill_parent", 试试这样:

XML:

<TextView
        android:id="@+id/driver_passage_text_view"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:text="Ivanov Ivan Ivanich"
        android:padding="0"
        />

Java:

private void setGravityAndText(TextView textView,String text){
   if(text.length()>24){
        textView.setIncludeFontPadding(true);
        textView.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.TOP);
   }
    else {
       textView.setIncludeFontPadding(false);
       textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
   }
    textView.setText(text);

}

答案 1 :(得分:0)

尝试使用EDITTEXT

<EditText 
    android:id="@+id/driver_passage_text_view"
    android:layout_width="0dp"
    android:layout_height="@dimen/ma_list_item_height"
    android:layout_weight="1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:ellipsize="start" 
    android:maxLines="1"
    android:gravity="center"
    android:hint="Some hint text"
></EditText>