操作栏 - UP按钮附近的自定义图像和文本

时间:2014-09-02 08:00:14

标签: android android-actionbar custom-activity

我的应用程序中有两个选项的登录屏幕 - "登录"和"创建帐户"。我想实现以下内容,例如,在登录屏幕上:

enter image description here

通过点击" UP"我有一项活动和另一项活动。按钮我想回来。我有以下所需活动的构造函数:

protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_bl__login_form_view_controller);
    getActionBar().setDisplayHomeAsUpEnabled(true);

    //----------------------added source - no effect-----------------------

    getActionBar().setDisplayShowHomeEnabled(true);
    getActionBar().setIcon(R.drawable.circle) ;
    getActionBar().setTitle("A title");


    //---------------------------------------------------------------------
    setTitle ("Вход") ;
}

我有UP按钮。如何添加圆形图像和一些文字?所有教程都说,我可以在AppManifest中设置应用程序图标,但它会更改主屏幕上的应用程序图标。我怎样才能在后退按钮上添加文字?我不想为整个应用程序实现任何导航逻辑或设置父活动,因为它是一个登录屏幕,带有导航逻辑的主菜单只有在授权后才会显示。提前谢谢!

6 个答案:

答案 0 :(得分:6)

setTitle将设置标题,setIcon会将图标设置为ActionBar

getActionBar().setTitle("Your Title");
getActionBar().setDisplayShowHomeEnabled(true);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setIcon(R.drawable.youricon);

参考:Adding Up Actionhttp://developer.android.com/guide/topics/ui/actionbar.html

答案 1 :(得分:1)

怎么样:

getActionBar().setIcon(R.drawable.circle);

答案 2 :(得分:0)

使用getActionBar().setIcon(R.drawable.youricon)设置图标,使用getActionBar().setTitle("A title");设置图标旁边的文字。

答案 3 :(得分:0)

图标:

getActionBar().setIcon(R.drawable.youricon);

标题:

getActionBar().setTitle("A title");

答案 4 :(得分:0)

您可以使用自己的布局

使用自定义操作栏
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setHomeButtonEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);

final ViewGroup actionBarLayout = (ViewGroup)getLayoutInflater().inflate(R.layout.yourXML, null);
actionBarLayout.findViewById(R.id.buttonId).setOnClickListener(this);

actionBar.setCustomView(actionBarLayout);

它为我工作。所以我希望它为你工作。

答案 5 :(得分:0)

接受的答案很好地解决了这个问题。我只是添加了一些使用自定义操作栏布局的附加信息。

getActionBar().setTitle("Your Title");
getActionBar().setDisplayShowHomeEnabled(true);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setIcon(R.drawable.youricon);
// You can use setLogo instead like 
// getActionBar().setIcon(R.drawable.youricon);

// In case of support action bar, if its not showing properly, you need to add display options
//getActionBar().setDisplayOptions(actionBar.getDisplayOptions() | ActionBar.DISPLAY_SHOW_CUSTOM);

现在这里是一个代码段,描述如何在android操作栏中使用自定义布局。

// Make a layout named 'custom_actionbar' and simply add elements you want to show in your actionbar.
final ViewGroup actionBarLayout = (ViewGroup) getLayoutInflater()
                .inflate(R.layout.custom_actionbar, null);
// Now for support action bar, get the action bar 
actionBar = getSupportActionBar();

// Set necessary attributes
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setElevation(0);

// Set the custom layout in actionbar here
actionBar.setCustomView(actionBarLayout);
actionBar.setDisplayOptions(actionBar.getDisplayOptions()
                | ActionBar.DISPLAY_SHOW_CUSTOM);

// Now handle the elements of the custom layout here
Button b1 = (Button) findViewById(R.id.button1);
// Set actions for Button 1 here
b1.setText("Button 1");

// Another element in custom actionbar
ImageView iv1 = (ImageView) findViewById(R.id.myImage);
iv1.setBackgroundResource(R.drawable.myImagePlaceHolder);

将代码放入 onCrate 并自行检查。