2011-08-26 64 views
26

Ứng dụng Android của tôi không hiển thị tên ứng dụng "app_name", thay vào đó hiển thị tên hoạt động "tiêu đề". Đây là từ tệp kê khai của tôi;Tên ứng dụng Android không được hiển thị

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Main" 
       android:label="@string/title"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

Tại sao ứng dụng nhận tên từ hoạt động chính và bỏ qua nhãn Ứng dụng?

Đây là đầy đủ manifest

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.extempor.cheetah" 
    android:versionCode="1" 
    android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Main" 
       android:label="@string/title"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity android:name=".InfoHelp" 
       android:label="@string/titleInfo"> 
     <intent-filter> 
      <action android:name="android.intent.action.HELPINFO" /> 
      <category android:name="android.intent.category.DEFAULT" /> 

     </intent-filter> 
    </activity> 
    </application> 
    <uses-sdk android:minSdkVersion="10" /> 

<uses-permission android:name="android.permission.INTERNET" /> 

    </manifest> 
+0

thêm bạn mã đầy đủ của tập tin menifest –

+0

Tôi nghĩ bạn nên kiểm tra [bài này] (http://stackoverflow.com/questions/3488664/android-launcher-label-vs-activity-title). Đó là cách phù hợp với giải pháp. –

Trả lời

5

Bạn chỉ có thể hiển thị một nhãn tại một thời điểm. Nhãn ứng dụng hoặc nhãn Hoạt động.

Nếu bạn đặt nhãn và chạy một hoạt động, bạn sẽ thấy nhãn Hoạt động.

Để xem nhãn Ứng dụng, không đặt android:label="@string/title" trên Hoạt động chính.

+0

Tôi giả định rằng nhãn ứng dụng sẽ là tên được liên kết với ứng dụng và nhãn hoạt động sẽ là nhãn được liên kết với hoạt động, nhưng khi tôi xem ứng dụng của mình trong menu ứng dụng, nó sẽ hiển thị nhãn hoạt động. – user913240

1

Bạn nên thay thế

<activity android:name=".Main" 
      android:label="@string/title"> 

với

<activity android:name=".Main" 
      android:label="@string/app_name"> 
+1

Tôi không muốn hoạt động có cùng tên với ứng dụng. Tôi muốn ứng dụng được gọi là "Cheetah" và tôi muốn nhãn trên hoạt động chính để hiển thị "Word Puzzle Solutions". Tên ứng dụng sẽ được hiển thị cùng với biểu tượng ứng dụng trong menu ứng dụng. Điều này không xảy ra, thay vào đó ứng dụng hiển thị tên hoạt động. – user913240

0

Trong mọi hoạt động, bạn nên thay đổi giá trị của

android:label 

để

"@string/app_name" 

CẬP NHẬT:

cũng câu trả lời là Hoạt động đầu tiên với nhãn @ string/title là hoạt động chính của bạn xuất hiện trên menu Trình khởi chạy. Vì vậy, bạn phải đặt nhãn cho hoạt động đó. Giải pháp khác là bạn tạo ra một hoạt động Temp và gọi cho bạn hoạt động chính từ đó và thiết lập hoạt động chính của bạn Label tiêu đề và hoạt động Temp của bạn nhãn App_name và làm cho hoạt động Temp của bạn Launcher chính.

Hope this helps

Cảm ơn

+0

Tại sao? Nếu bạn có thể có một nhãn cho mỗi hoạt động và cũng là một nhãn cho ứng dụng, tại sao tất cả chúng đều giống nhau? – user913240

+0

Vì thanh trạng thái trên đầu thay đổi khi hoạt động mới xuất hiện ở trên cùng. vì vậy trong trường hợp đó, bạn phải chỉnh sửa nhãn cho từng hoạt động có tên bạn muốn đặt trên thanh Trạng thái hoạt động cụ thể đó. – Shah

+0

Không phải thanh trạng thái là vấn đề, nó hiển thị thông tin chính xác. Menu ứng dụng của nó có Biểu tượng và tên của ứng dụng. Nhưng nó không hiển thị nhãn ứng dụng từ tệp kê khai, thay vì hiển thị nhãn hoạt động. – user913240

-1

Bạn có thể trực tiếp cung cấp cho bạn tên ứng dụng để nó như android: lable = "app_name" hoặc kiểm tra của bạn String.xml nộp trong thư mục Values ​​

3

Thậm chí, tôi nhận thấy giống nhau và có vẻ như đó là một lỗi! Bạn nên báo cho google :)

+1

Tôi vừa đăng nó dưới dạng lỗi năm 19852 trên trang web Android. – user913240

21

Câu hỏi này giải thích lý do cho điều này với tôi:

Naming my application in android

Các phóng thực sự cho thấy android: nhãn và android: biểu tượng cho hoạt động (ies) thực hiện kê khai :

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

vì vậy nhãn ứng dụng không được sử dụng.

4

Bạn chỉ có thể thiết lập nhãn launcher của bạn activitys như tên ứng dụng và sau đó thiết lập các tiêu đề actionBar bằng tay trong mã cho hoạt động

getSupportActionBar().setTitle(R.string.title_user_login); 

Đây là tất nhiên nếu bạn đang sử dụng thanh tác vụ. Tiêu đề tiêu đề hoạt động bình thường là xấu xí anyway!

EDIT: nói rằng bạn có thể thấy thay đổi văn bản khi khởi động!

1

Sử dụng

this.setTitle(""); 

trong onCreate của bạn() phương pháp hoạt động của bạn và sử dụng tên ứng dụng ưa thích của bạn trong @ chuỗi/app_name cho

<application> android:lable = "@string/app_name" </application> 
1

Nếu bạn hoặc ai đó vẫn đang đối mặt với vấn đề thì đây là giải pháp làm việc cho tôi.

Giữ nhãn Ứng dụng và nhãn hoạt động chính như nhau trong biểu hiện như hình dưới đây

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
<activity android:name=".Main" 
      android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

trong tập tin main.java thiết lập các nhãn hoạt động của bạn như hình dưới đây (tôi đoán bạn đang sử dụng thanh hành động)

ActionBar actionBar = getSupportActionBar(); 
actionBar.setTitle(getResources().getString(R.string.title)); 

trước khi cài đặt ứng dụng đã thay đổi này, gỡ cài đặt phiên bản trước đó khởi động lại điện thoại của bạn và bây giờ cài đặt ứng dụng đã thay đổi.

Tôi hy vọng điều này sẽ hữu ích.

1

Nếu bạn đang sử dụng Android studio, thì bạn nên mở rộng AppCompatActivity sau đó chỉ hoạt động sẽ được hiển thị.

Ví dụ Code: Hoạt động chính: public class MainActivity kéo dài AppCompatActivity

Styles.XML

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
</style> 

0

Nếu bạn đang sử dụng Android studio, bạn cũng đang sử dụng MapsActivity sau đó bạn nên mở rộng ActionBarActivity, cũng đặt tên ứng dụng tại String.xml. Nó làm việc cho tôi. nhờ

<resources> 
<string name="app_name">App Name</string> 
<string name="title_activity_maps">Map</string> 

5

Tôi có cùng một vấn đề, giải pháp cho tôi:

trên MainActivity.java thay đổi:

public class MainActivity extends Activity {...} 

cho

public class MainActivity extends AppCompatActivity {...} 
2

bạn cần

public class MainActivity extends AppCompatActivity {.....} 

nếu bạn không thể mở rộng AppCompatActivity, thì bạn có thể thêm dòng cuối cùng của mã bên dưới để hiển thị tiêu đề trong thanh ..

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    toolbar.setTitle("the name i want to appear"); 
Các vấn đề liên quan