【发布时间】:2013-10-02 05:54:48
【问题描述】:
我需要在我的 ListItems 中将 Android 文本 Gravity 动态更改为 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);
}
水平对齐工作成功,但在顶部无论如何都不起作用?我做错了什么?
请帮忙。
提前致谢。
【问题讨论】:
-
发布该视图的屏幕截图。我认为这是您在此处提到的默认填充...
-
@Triode clip2net.com/s/5RR0pt
-
@Abbath 首先从您的布局文件中删除重力并尝试仅动态设置它。
-
将 ScreenShot 用于获得可靠的解决方案。
-
查看我更新的答案
标签: android textview gravity layout-gravity