0

删除应用程序图标和磁贴

我想使用自己的标题。我认为安装应用程序时会自动出现应用程序图标和应用程序名称。我制作了自己的自定义图像,我想将其用作标题。我使用了以下代码,但它不适用于我

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState)
{
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
     setContentView(R.layout.homescreen);
     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);


}

}

标题栏.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/titlebar"
    android:orientation="horizontal" >
     <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1" />


</LinearLayout>
4

6 回答 6

1

在您的活动中使用以下代码删除默认标题

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_name);
}

并在您的xml中使用具有textview和ImageView的linearlayout创建您自己的自定义标题

于 2015-03-19T05:27:39.273 回答
1

您也可以从清单文件中更改它,

更改res/values/string.xml文件中的appname 。因此,您的应用程序的标题将发生变化。

现在将图标放在您要用于您的应用程序的可绘制文件夹中,然后

转到AndroidManifest.xml -> 选择应用程序-> 您可以从此处更改图标:从可绘制图标字段中选择您的图标

图标

于 2015-03-19T05:38:40.663 回答
0

这很容易实现

您也可以从清单文件中更改它,

<application
        android:name="com.example.MAPit.Volley.app.AppController"
        android:allowBackup="true"
        android:icon="@drawable/mapit"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

只需将 app_namestrings.xml和图标放入res/drawable文件夹中。

如果你想在代码调用中改变它

setTitle("My new title");
getActionBar().setIcon(R.drawable.my_icon);

并将值设置为您喜欢的任何值。

在 XML 中:

<activity android:name=".MyActivity" 
       android:icon="@drawable/my_icon" 
       android:label="My new title" />  

要在您的应用程序中启用后退按钮,请使用

 getActionBar().setHomeButtonEnabled(true);
 getActionBar().setDisplayHomeAsUpEnabled(true);

代码都应该放在你的 onCreate 中,这样标签/图标的变化对用户来说是透明的,但实际上它可以在活动生命周期的任何地方调用

于 2015-03-19T05:35:14.100 回答
0

您可以用单行隐藏标题栏

requestWindowFeature(Window.FEATURE_NO_TITLE);

如果您想使用一些按钮或功能小部件自定义栏或标题,请自定义操作栏并使用支持操作栏以获得较低的 api 级别。

于 2015-03-19T05:37:34.537 回答
0

在 setContentView 之前使用此字符串:

requestWindowFeature(Window.FEATURE_NO_TITLE);
于 2015-03-19T05:41:46.620 回答
0

您可以使用 jyomin 答案,或者我尝试从 stackoverflow 上找到的不同答案

标题栏.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/header_text"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center_vertical"
        android:gravity="center"
        android:singleLine="true"
        android:text=""
        android:background="@drawable/titlebar"
        android:textSize="7pt"
        android:textStyle="bold"
        android:typeface="sans" />

     <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1" />


</LinearLayout>


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState)
{
    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
     //this.requestWindowFeature(Window.FEATURE_NO_TITLE);

     setContentView(R.layout.homescreen);

     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
    // getActionBar().setTitle(R.string.);

}

}

并在清单中使用这一行,您将使用哪个活动标签

android:theme="@android:style/Theme"

像这样

<activity android:name="com.bar.start.MainActivity"
              android:label="@string/app_name"
               android:screenOrientation="portrait"
                android:theme="@android:style/Theme">
于 2015-03-19T11:48:03.737 回答