Android:ActionBarSherlock标题Ellipsize

时间:2013-03-10 15:26:26

标签: android actionbarsherlock title

有没有办法阻止ActionBar(sherlock)的标题被裁剪(比如ThisIsMyTi ...)

我想总是看全长的标题,所以标题应该始终具有最高优先级,除了没有硬件菜单按钮的设备上的溢出菜单按钮。

如果有解决方案会很好。将标题的椭圆化设置为null不起作用,它只是在没有...

的情况下被裁剪

1 个答案:

答案 0 :(得分:0)

添加在顶部:

private TextView titleTV;

在你的OnCreate中:

ActionBar Bar=getSupportActionBar();
Bar.setDisplayShowTitleEnabled(false);
LayoutInflater inflater = LayoutInflater.from(this);
View customView = inflater.inflate(R.layout.bar, null);
titleTV = (TextView) customView.findViewById(R.id.title);
titleTV.setSelected(true);
Bar.setCustomView(customView);
Bar.setDisplayShowCustomEnabled(true);

在bar.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:background="@android:color/transparent" >
<TextView
    android:id="@+id/title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="19dp"
    android:singleLine="true"           
    android:duplicateParentState="true"
    android:fadingEdge="horizontal"
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:scrollHorizontally="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true"
    android:text="">
    <requestFocus
        android:duplicateParentState="true"
        android:focusable="true"
        android:focusableInTouchMode="true" />
</TextView>
</RelativeLayout>

您可以使用

设置标题
titleTV.setText(t);