如何以编程方式获取操作条的后退按钮宽度?

问题描述 投票:-4回答:4

我正在将工具栏设置为我的动作栏,但是当我禁用主页按钮并且工具栏上的标题未集中时,我会进行一些活动,因此我希望通过编程将动作栏后退按钮设置为toolbar.setContentInsetsAbsolute(0, 0);

enter image description here

android android-actionbar
4个回答
0
投票

尝试一下

     toolbar = (Toolbar) findViewById(R.id.toolbar_editprofile);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);
  toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.back_arrow));
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
        }
    });

0
投票
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case android.R.id.home:
                onBackPressed();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

0
投票

您可以通过设置样式来设置,将清单中的活动主题设置为无动作栏,并在布局中手动使用工具栏,并根据需要设置样式,还可以更改文本的大小,也可以使用样式。

 <style name="Theme.MyFancyTheme" parent="android:Theme.Holo">
    <item name="android:homeAsUpIndicator">@drawable/ic_toolbar_back_button</item>
</style>

 <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?actionBarSize"
                    android:layout_gravity="top"
                    android:background="@android:color/transparent"
                    android:visibility="visible"
                    app:theme="@style/Theme.MyFancyTheme">

0
投票

您需要对包含标题的工具栏内的TextView做类似的事情:

android:paddingLeft="?attr/actionBarSize"
© www.soinside.com 2019 - 2024. All rights reserved.