ActionBar - 似乎没有调用setTitle。我正在使用ActionBar做的所有其他事情(如HomeIsUp等)进展顺利,但是setTitle - 不是。
以下是一个简单活动的代码:
public class GuidelineDetails extends Activity implements OnClickListener {
String guideline_name;
String guideline_attachment;
public static TextView tv_title;
public static TextView tv_intro;
public static TextView tv_test;
public static WebView webview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.guideline_detail);
getActionBar().setTitle("Privet");
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setDisplayShowTitleEnabled(false);
getActionBar().setIcon(R.drawable.listbullet);
///// some code
}
}
为什么不设置标题?
清单中的:
<activity
android:name=".GuidelineDetails"
android:configChanges="orientation"
android:label="Guideline"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.Light" >
</activity>
布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/guideline_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:paddingLeft="10dp"
android:paddingRight="1dp"
android:paddingTop="35dp"
android:textSize="18dp"
android:textStyle="bold" />
</TableRow>
</TableLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.16"
android:orientation="vertical" >
<TableRow
android:id="@+id/tableRow4"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:id="@+id/webviewD"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</TableRow>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:24)
因为
getActionBar().setDisplayShowTitleEnabled(false);
将其更改为
getActionBar().setDisplayShowTitleEnabled(true);
答案 1 :(得分:0)
你试过设置subTitle吗?因为在某些情况下,如果设备屏幕在ActionBar中很小,则只能看到ActionBar图标。试试这个.getActionBar()。setTitle(“Privet”);希望这会对你有所帮助!
答案 2 :(得分:0)
我认为这是因为Manifest文件超过了它的规则。我的图标遇到了同样的问题,所以我只需要在清单文件(android:label="Guideline"
)中更改它,或者如果必须在语法上设置它,请不要在Manifest中设置标签。
答案 3 :(得分:0)
尝试扩展ActionBarActivity而不是Activity
答案 4 :(得分:0)
在清单中:
<activity android:name=".MessagingActivity"
android:label="MessagingActivity"
android:parentActivityName=".LoginActivity"
android:theme="@style/AppTheme.NoActionBar"></activity>
在活动中:
public class MessagingActivity extends AppCompatActivity {
private ImageView profileImage;
private TextView username;
private FirebaseUser firebaseUser;
private DatabaseReference referense;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_messaging);
Toolbar toolbarLcl = findViewById(R.id.toolbar);
setSupportActionBar(toolbarLcl );
ActionBar mActionBarLcl = getSupportActionBar();
mActionBarLcl.setTitle("username");
mActionBarLcl.setDisplayHomeAsUpEnabled(true);
toolbarLcl .setNavigationOnClickListener(v->{
finish();
});.....
和xml:
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MessagingActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
app:layout_constraintTop_toTopOf="parent"
>
<include layout="@layout/toolbar_messaging" />
</android.support.design.widget.AppBarLayout>