2013-10-11 5 views
0

Title BarПользовательское Titlebar имеет нежелательную черную кайму

я получаю черную рамку вокруг края моего пользовательского заголовка, который я не хочу. Любые идеи были бы замечательными. Вот код для заголовка.

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="fill_parent" 
android:layout_height="35sp" 
android:gravity="center_vertical" 
android:background="@color/TitleBlue"> 

<ImageView 
    android:id="@+id/header" 
    android:src="@drawable/app_icon_white" 
    android:adjustViewBounds="true" 
    android:layout_marginLeft="5sp" 
    android:layout_marginBottom="1sp" 
    android:padding="3sp" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent"/> 

<com.hdms.manager.Drawable.TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="10sp" 
    android:text="HDMS Manager" 
    android:textColor="@android:color/white" 
    android:textStyle="bold"/> 

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="right"> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <ImageView 
      android:id="@+id/circleIcon" 
      android:src="@drawable/blank_circle" 
      android:adjustViewBounds="true" 
      android:layout_marginLeft="-8sp" 
      android:padding="8sp" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent"/> 

     <com.hdms.manager.Drawable.TextView 
      android:id="@+id/accessLevel" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/circleIcon" 
      android:layout_alignTop="@+id/circleIcon" 
      android:layout_marginLeft="14sp" 
      android:layout_marginTop="8sp" 
      android:text="" 
      android:textColor="@color/TitleBlue" /> 
    </RelativeLayout> 

    <ImageView 
     android:id="@+id/connectionModeIcon" 
     android:src="@drawable/direct_on_lan" 
     android:adjustViewBounds="true" 
     android:layout_marginLeft="-8sp" 
     android:padding="8sp" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent"/> 

    <ImageView 
     android:id="@+id/connectedIcon" 
     android:src="@drawable/tick_raw" 
     android:adjustViewBounds="true" 
     android:layout_marginLeft="-8sp" 
     android:padding="8sp" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent"/> 

</LinearLayout> 
</LinearLayout> 

Я использую пользовательский TextView, чтобы я мог загрузить свой собственный TTF в проект. Но это не проблема, поскольку граница все еще существует с обычным TextView.

Это файл манифеста.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.hdms.manager" 
android:versionCode="12" 
android:versionName="0.35" > 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

<uses-sdk 
    android:minSdkVersion="12" 
    android:targetSdkVersion="18" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:name="App" 
    android:theme="@style/AppTheme" > 

    <!-- Splash screen --> 
    <activity 
     android:name="com.hdms.manager.Drawable.SplashScreen" 
     android:label="@string/app_name" 
     android:screenOrientation="portrait" 
     android:theme="@android:style/Theme.Black.NoTitleBar" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

    <!-- Main activity --> 
    <activity 
     android:name="com.hdms.manager.MainActivity" 
     android:label="@string/app_name" > 
    </activity> 
</application> 

</manifest> 

И соответствующий код из styles.xml

<!-- Application theme. --> 
<style name="AppTheme" parent="android:Theme.Light"> 
    <item name="android:windowTitleSize">35sp</item> 
    <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item> 
    <item name="android:buttonStyle">@style/My.Button</item> 
</style> 

Цвет от colors.xml

<color name="TitleBlue">#008cb8</color> 

Проблема не видно, если цвет выбран черный.

+0

И как вы включаете эту строку заголовка xml в свой основной макет? –

+0

опубликуйте свои «AndroidMenifest.xml» и «ресурсы» вашей настраиваемой панели заголовков. –

+0

use full screen – Rohit

ответ

0
// try this 
<LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:gravity="center" 
     android:layout_margin="5dp" 
     android:layout_height="35dp"> 

    <ImageView 
      android:id="@+id/header" 
      android:src="@drawable/ic_launcher" 
      android:adjustViewBounds="true" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent"/> 

    <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:layout_marginLeft="5dp" 
      android:gravity="center"> 
     <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="HDMS Manager" 
       android:textColor="@android:color/white" 
       android:textStyle="bold"/> 

     <TextView 
       android:id="@+id/accessLevel" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Access Level" 
       android:textColor="@android:color/white" 
       android:textStyle="bold" 
       android:layout_marginLeft="5dp"/> 
    </LinearLayout> 
    <ImageView 
      android:id="@+id/circleIcon" 
      android:src="@drawable/ic_launcher" 
      android:adjustViewBounds="true" 
      android:layout_width="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_height="match_parent"/> 

    <ImageView 
      android:id="@+id/connectionModeIcon" 
      android:src="@drawable/ic_launcher" 
      android:adjustViewBounds="true" 
      android:layout_width="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_height="match_parent"/> 

    <ImageView 
      android:id="@+id/connectedIcon" 
      android:src="@drawable/ic_launcher" 
      android:adjustViewBounds="true" 
      android:layout_width="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_height="match_parent"/> 

</LinearLayout> 
+0

Извините, что эта проблема по-прежнему имеет ту же проблему, если вы меняете цвет с черного на нечто более заметное. –

0
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="35sp" 
    android:gravity="center_vertical" 
    android:background="@color/TitleBlue" 
    android:padding="0dp"> 

... 
</LinearLayout> 
+0

Извините, но это не сработало, я попробовал установить дополнение к отрицательному значению, а не к эффекту. –

+0

Я обновил свой ответ. Проверьте это, независимо от того, произведено или нет. – edisonthk

+0

Тот же результат. :( –

0

Я не уверен, что он работает или нет. Дайте испытанному на него удалению силы тяжести и подгонки к 0sp

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="35sp" 
    android:background="@color/TitleBlue" 
    android:padding="0dp"> 

... 
</LinearLayout> 
+0

Извините, что не имеет никакого эффекта. –

0

Для всех, кого интересует. Я обошел это, объявив ни один заголовок в теме и добавив заголовок в основное действие; и с помощью viewpager с фрагментами. Так что «строка заголовка» всегда видна.

Новый стиль файла

<style name="AppTheme" parent="android:Theme.Light.NoTitleBar"> 
    <item name="android:windowTitleSize">35sp</item> 
    <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item> 
    <item name="android:buttonStyle">@style/My.Button</item> 
</style> 

новой activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/mainView"> 

<include layout="@layout/titlebar"/> 

<android.support.v4.view.ViewPager 
    android:id="@+id/contentViewPager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" /> 

</LinearLayout> 

Спасибо за усилия ребят.

0

Если вы не поняли это, я была такая же проблема, но со мной он работает нормально на новых устройствах, но на API 10 он не был, я установил его с этим:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:windowTitleSize">45dp</item> 
    <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item> 
    <item name="android:windowNoTitle">false</item> 
</style> 

<style name="WindowTitleBackground" /> 

Важной частью это windowTitleBackgroundStyle. И стиль, который вы ставите, может быть пустым. Я понятия не имею, почему это работает, но это сработало для меня.