如何在Android上获得多行自定义标题?

时间:2013-12-29 02:07:35

标签: android layout xamarin.android xamarin

我正在开发一个xamarin项目(据我所知,这里没有相关性 - android布局属性是相同的)

我正在使用Window.SetFeatureInt (WindowFeatures.CustomTitle, ...)设置标题(2“列”。我希望为我的标题制作两行文字。这可能吗?我没有取得多大成功。我左上角,右上角和左下角以及右下角的TextViews进行设置。

我以前的尝试最终导致TextViews互相覆盖。

1 个答案:

答案 0 :(得分:0)

  

在这里,我正在设计一个带有图像的XML文件,标题和文本的文本。按钮。这是XML文件。你可以随意使用它,用于完整的应用程序或特定的活动。   如果是活动,请添加此活动的主题标记。对于多行,只需在下面的线性布局中使用文本视图,将其设置为多行true。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="horizontal"
   android:layout_width="fill_parent"
   android:layout_height="35dip"
   android:gravity="center_vertical"
   android:background="@android:color/darker_gray">

   <ImageView
          android:id="@+id/header"
          android:background="@drawable/icon"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"/>

   <TextView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Custom Window Text"
          android:textColor="@android:color/black"
          android:textStyle="bold"/>

   <Button
       android:id="@+id/button1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Button" />         

  Create a theme in Custom_theme.xml,

  <resources>
   <style name="CustomWindowTitleBarBG">
          <item name="android:background">#323331</item>
  </style>

  <style name="TitleBarTheme" parent="android:Theme">
         <item name="android:windowTitleSize">35dip</item>
        <item name="android:windowTitleBackgroundStyle">      @style/CustomWindowTitleBarBG</item>
  </style>

修改AndroidManifest.xml文件,如下所示,以应用自定义主题

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/TitleBarTheme" >
    <activity
        android:name=".CustomWindowTitle"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

现在在主java文件add “requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)” & “getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title)”

这是CustomWindowTitle.java的代码片段

package com.example.android;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class CustomWindowTitle extends Activity
  {
   @Override
   public void onCreate(Bundle savedInstanceState)
   {
          super.onCreate(savedInstanceState);

   requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

     setContentView(R.layout.main);

     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,    R.layout.window_title);
    }
 }