【问题标题】:Android: Not able to change image in Window TitleAndroid:无法更改窗口标题中的图像
【发布时间】:2015-02-26 15:00:40
【问题描述】:

我有一个父活动(所有其他活动都从该活动扩展) - 窗口标题中有一个“导航抽屉切换”图标。

我想在每次点击抽屉图标时更改“导航抽屉切换”图像(打开/关闭抽屉)

public class ParentActivity extends Activity {
private ImageView imgDrawer;

@Override
    protected void onCreate(Bundle savedInstanceState) {
    ....
    setContentView(R.layout.window_title);  
    imgDrawer = (ImageView)findViewById(R.id.imgdrawer);
    ...
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.window_title);
}

...
public void openDrawer()
{
  ...
   //Switch Image
   imgDrawer.setImageDrawable(getResources().getDrawable( R.drawable.ic_close_drawer));
}

public void closeDrawer()
{
   ...
   //Switch Image
   imgDrawer.setImageDrawable(getResources().getDrawable( R.drawable.ic_open_drawer));
}
...
}

问题是,当调用 openDrawer 和 closeDrawer 时,“imgDrawer”没有改变。 这是因为“imgDrawer”图标在窗口标题中还是在其他地方?

【问题讨论】:

  • 在 onCreate....getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title) 之前设置这个;

标签: android android-imageview


【解决方案1】:

可能setContentViewsetFeatureInt 布局相同,在设置标题布局之前调用getWindow().setFeatureInt。这样做:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
    ....
    setContentView(R.layout.window_title);  

    ...
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.window_title);
    imgDrawer = (ImageView)getWindow().findViewById(R.id.imgdrawer);
}

或传递包含 ImageView 的布局与 setContentView 布局不同

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    相关资源
    最近更新 更多