我试图将ImageView
放在操作栏中,它可以工作,我可以为它设置动画和所有内容,但是,它需要太多的水平空间而且我不知道为什么。
这是我的菜单:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<ImageView
android:id="@+id/dicebutton"
android:layout_width="wrap_content"
android:layout_height="?attr/actionBarSize"
android:contentDescription="dice"
android:src="@drawable/dice_1" />
</android.support.v7.widget.Toolbar>
这是活动中的代码:
if (myToolbar != null) {
setSupportActionBar(myToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setElevation(0);
image = myToolbar.findViewById(R.id.dicebutton);
if (image != null) {
image.setImageResource(R.drawable.dice_1);
image.setScaleX(0.5f);
image.setScaleY(0.5f);
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rollDice(Helper.rand.nextInt(6) + 1, v);
}
});
}
}
我使用的图像是256x256骰子图像,为什么要扩大它以占用所有这些空间?
答案 0 :(得分:2)
我之前在动作栏中绘制和调整视图时遇到了很多问题。我认为您应该尝试使用支持库工具栏,它可以让您在这种情况下获得更多控制权,同时支持菜单扩展内容,我记得: https://developer.android.com/training/appbar/setting-up
https://developer.android.com/reference/android/support/v7/widget/Toolbar
您可以将图像和其他视图置于其中,并进行更多控制。
更新答案: 我不确定这是否是你需要的但是尝试添加android:adjustViewBounds =&#34; true&#34;你的形象。
像这样: