Пользовательский вопрос строки заголовка - PullRequest
3 голосов
/ 27 января 2012

Я установил пользовательскую строку заголовка в качестве примера http://coderzheaven.com/2011/06/custom-title-bar-in-android/, все работает нормально, но синяя рамка появляется из исходного заголовка.Единственное, что я добавил, это установил цвет фона для пользовательского заголовка как (android: background = "# EECBAD").Как я могу удалить эту синюю рамку?

### custom_title.xml:

    <RelativeLayout 
     android:id="@+id/RelativeLayout01" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#EECBAD"
     xmlns:android="http://schemas.android.com/apk/res/android">
     <ImageView
     android:layout_width="40dip" 
     android:id="@+id/ImageView01" 
     android:background="@drawable/ic_launcher" 
     android:layout_height="40dip" /> 
    <TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"  
    android:id="@+id/tv" 
    android:text="ELNABIH"
    android:layout_toRightOf="@+id/ImageView01"
    android:textColor="@drawable/red"
    android:textStyle="bold" 
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip" />
    </RelativeLayout>

java.class

      package com.test.list;
    import android.app.Activity;
     import android.os.Bundle;
     import android.view.Window;
     import android.widget.TextView;
     public class Tttt extends Activity {  
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
           super.onCreate(savedInstanceState); 
           Boolean customTitleSupported = requestWindowFeature
           (Window.FEATURE_CUSTOM_TITLE); 
           setContentView(R.layout.main);  
           if (customTitleSupported) { 
               getWindow().setFeatureInt
           (Window.FEATURE_CUSTOM_TITLE,R.layout.custom_title); 
               TextView tv = (TextView) findViewById(R.id.tv);  
               tv.setText("name");  


             }
           }
         }

Ответы [ 5 ]

1 голос
/ 27 января 2012

наденьте style.xml:

<style name="CustomWindowTitleBackground">
        <item name="android:background">@color/LightFacebook</item>
    </style>

на @ color / LightFacebook использует пользовательский цвет.

1 голос
/ 27 января 2012

Если вы установите цвет фона для tv TextView, это потому, что он также имеет некоторые правые и левые отступы, помимо установки на wrap_content:

android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"

Youможете удалить эти строки или попытаться установить цвет фона для родителя, RelativeLayout01

1 голос
/ 27 января 2012

Брат, я думаю, эта ссылка наверняка тебе поможет.Я думаю, вам придется определять стили и темы также в XML.

Пожалуйста, создайте styles.xml & themes.xml в папке значений в папке res .Введите следующий код:

Код для styles.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <resources> <style name="WindowTitleBackground" parent="android:Theme"> 
    <item   name="android:background">@android:color/background_dark</item>
    </style>
    </resources>

Код для themes.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <style name="MyTheme" parent="android:Theme">
    <item name="android:windowTitleSize">54px</item>
    <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>                 
    </style>
    </resources>  

и вставьте это в свой манифест - android:theme="@style/MyTheme"

1 голос
/ 27 января 2012

Попробуйте переопределить «android: windowTitleBackgroundStyle».

0 голосов
/ 27 января 2012

Сначала следует скрыть заголовок по умолчанию.Вы должны заявить об этом в AndroidManifest.xml для действия или установить параметры окна в коде Java.

<activity 
    android:name=".MainActivity" 
    android:theme="@android:style/Theme.Black.NoTitleBar" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...