2013-10-04 1 views
2

Я новичок в разработке AndroidПользовательская функция titlebar работает в эмуляторе, но не работает в устройстве

Я попытался создать пользовательскую панель заголовка в своем приложении. он работает в эмуляторе. но когда я запустить это приложение в моем устройстве ... он остановился там (не загрузка)

XML-код для пользовательского заголовка

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/screen" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical"> 
<TextView android:id="@+id/left_text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:gravity="center" 
    android:background="@drawable/bg2" 
    android:text="Welcome Screen" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:textColorHighlight="#ffffd4" 
    android:textAllCaps="false" 
    android:typeface="serif" 
    android:textColor="#960000" 
    android:textStyle="italic" /> 

</RelativeLayout> 

код в моем классе активность

public void onCreate(Bundle b){ 
    super.onCreate(b); 
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
    setContentView(R.layout.welcome); 
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitlebar); 

нет выпуск в эмуляторе ... он отлично работает там, но не работает в реальном устройстве , если какой-либо plzz скажет мне, что срочные ребята solution.it ....

ответ

0

В вашем onCreate() метод попробуйте сделать следующее:

super.onCreate(savedInstanceState); 
final boolean customTitleSupported = 
     requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.main); 
if (customTitleSupported) { 
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, 
     R.layout.titlebar); 
} 
final TextView myTitleText = (TextView) findViewById(R.id.myTitle); 
if (myTitleText != null) { 
    myTitleText.setText("CUSTOM TITLE"); 
} 

Сначала проверьте, поддерживается ли пользовательское название или нет.

+0

она до сих пор не работает в реальном устройстве .... – user1234567

0

Plese удалить значения-v11 и значение-V14 папку из папки вашего проекта Реза и попробовать это ниже кода

import android.app.Activity; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.View; 
import android.view.View.OnTouchListener; 
import android.view.Window; 
import android.widget.ImageView; 
import android.widget.TextView; 
import android.widget.Toast; 

/** 
* @author android 
* 
*/ 
public class MainActivity extends Activity { 

    /** 
    * 
    */ 
    private TextView textView; 

    /* 
    * (non-Javadoc) 
    * 
    * @see android.app.Activity#onCreate(android.os.Bundle) 
    */ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     getWindow().requestFeature(Window.FEATURE_CUSTOM_TITLE); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     this.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, 
       R.layout.custom_title_layout); 
     textView = (TextView) getWindow().findViewById(R.id.titleText); 
     System.out.println("Text View is : " + textView); 
     textView.setText("My Custom Title"); 
     ImageView titleImageView = (ImageView) getWindow().findViewById(
       R.id.customTitleImage); 
     titleImageView.setOnTouchListener(new OnTouchListener() { 
      /* 
      * (non-Javadoc) 
      * 
      * @see android.view.View.OnTouchListener#onTouch(android.view.View, 
      * android.view.MotionEvent) 
      */ 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       Toast.makeText(MainActivity.this, 
         "Title Image On Touch Event Occured.", 
         Toast.LENGTH_LONG).show(); 
       return true; 
      } 
     }); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^