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

在Android中将文本重力更改为顶部,android,textview,gravity,layout-gravity,Android,Textview,Gravity,Layout Gravity,我需要动态地将Android文本Gravity更改为我的列表项中的TOP。 用于列表项的代码: XML布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_hei

我需要动态地将Android文本
Gravity
更改为我的列表项中的
TOP
。 用于列表项的代码:

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"
        />
<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"
        />
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);

}
水平对齐已成功运行,但在顶部仍然不起作用?我做错了什么

请帮忙


提前感谢。

尝试使用
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>

xml
中删除
android:gravity
,并更改
android:height=“fill\u parent”
, 试着这样做:

对于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"
        />
<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"
        />
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);

}

发布视图的屏幕截图。我想这是你在这里提到的默认填充…@Triode@Abbath首先从布局文件中移除重力,并尝试仅动态设置它。放置屏幕截图以获得可靠的解决方案。请参阅我的更新答案OP需要文本视图时为什么要使用EditText?我不知道,但我有一个类似于o的问题。我将其替换为EditText。问题解决了我的问题..那就试试吧。。还有@Abbath也尝试相对布局。。