這東西弄了我兩小時……
效果展示:
其實stackoverflow上已經說得很清楚了,不過有一些細節需要處理好才不會出包
下面列出我的源碼:
Java Code:
//不顯示本來的title getActionBar().setDisplayShowTitleEnabled(false); //容許自訂外觀 getActionBar().setDisplayShowCustomEnabled(true); //這邊注意,layout與widget那邊是『另外建立』,別傻傻的套回你本來在用的layout id,會有悲劇的 LayoutInflater inflater = LayoutInflater.from(this); View v = inflater.inflate(R.layout.scrolling_app_title, null); ((TextView)v.findViewById(R.id.bar_title)).setText(你想要的title); //這句實裝你的自訂外觀 getActionBar().setCustomView(v);
只用於title的layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bar_title_container"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/bar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dp"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true" />
</LinearLayout>
其實並不算太難,只是你要新建立一個layout檔而已,不然你ActionBar就會變得一片混沌……
文章標籤
全站熱搜