1

все, я устал, чтобы сделать панель действий наложением макета моей деятельности. Я также использовать библиотеку поддержки для поддержки android 2.1 и выше, расположение моей деятельности выглядит следующим образом:проблема с надписью на панели управления Android

<!-- activity_display_message.xml in layout folder --> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="?attr/actionBarSize" 
    tools:context=".DisplayMessageActivity" > 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

</RelativeLayout> 

manifest.xml, как:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.myfirstapp" 
    android:versionCode="1" 
    android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="7" 
    android:targetSdkVersion="19" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher"> 
    android:theme="@style/CustomActionBarTheme" > 

    <!-- some code for main activity --> 

    <activity 
     android:name="com.example.myfirstapp.DisplayMessageActivity" 
     android:label="@string/title_activity_display_message" 
     android:parentActivityName="com.example.myfirstapp.MainActivity" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.myfirstapp.MainActivity" /> 
    </activity> 
    </application> 
</manifest> 

styles.xml, который определяет CustomActionBarTheme выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <!-- the theme applied to the application or activity --> 
    <!-- Support library compatibility --> 
    <!-- Setting values in the default namespace affects API levels 7-13 --> 

    <style name="CustomActionBarTheme" 
      parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
     <item name="actionBarStyle">@style/MyActionBar</item> 
     <item name="actionBarTabTextStyle">@style/MyActionBarTabText</item> 
     <item name="actionMenuTextColor">@color/actionbar_text</item> 
     <item name="windowActionBarOverlay">true</item> 
    </style> 

    <!-- ActionBar styles --> 
    <style name="MyActionBar" 
      parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> 
     <item name="background">@color/orange</item> 
     <item name="titleTextStyle">@style/MyActionBarTitleText</item> 
    </style> 

    <!-- ActionBar title text --> 
    <style name="MyActionBarTitleText" 
      parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
     <item name="android:textColor">@color/actionbar_text</item> 
     <!-- The textColor property is backward compatible with the Support Library --> 
    </style> 

    <!-- ActionBar tabs text --> 
    <style name="MyActionBarTabText" 
      parent="@style/Widget.AppCompat.ActionBar.TabText"> 
     <item name="android:textColor">@color/actionbar_text</item> 
     <!-- The textColor property is backward compatible with the Support Library --> 
    </style> 
</resources> 

Теперь проблема при применении CustomActionBarTheme в том, что текст (передается от основной деятельности) белый ich, который должен отображаться в TextView из display_message_activity, исчез, поэтому я предполагаю, что это связано с панелью действий оверлея, которая покрывает текстовое сообщение, и поэтому у кого есть идея, как решить проблему?

веселит

ответ

0

Я думаю, что причина того, что не показывает текст и решить вашу проблему, вы должны установить маржу сверху для TextView со значением: ?attr/actionBarSize

<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_marginTop="?attr/actionBarSize" /> 

Я надеюсь, что вы решили ваша проблема, и это правильный ответ :)

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