我有一些EditText views
,我想在左边设置图像,setCompoundDrawablesWithIntrinsicBounds
似乎不起作用。图形似乎没有改变。
有谁知道为什么会出现这种情况?
以下是我设置drawables的方法:
mFirstname.setCompoundDrawablesWithIntrinsicBounds(R.drawable.user_icon, 0, 0, 0);
mLastname.setCompoundDrawablesWithIntrinsicBounds(R.drawable.user_icon, 0, 0, 0);
mEmail.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
mPassword.setCompoundDrawablesWithIntrinsicBounds(R.drawable.lockicon, 0, 0, 0);
mDateOfBirth.setCompoundDrawablesWithIntrinsicBounds(R.drawable.calico, 0, 0, 0);
mCity.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
mStreet.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
mPostcode.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
mPhoneNumber.setCompoundDrawablesWithIntrinsicBounds(R.drawable.mailicon, 0, 0, 0);
答案 0 :(得分:15)
如果其他人有这个看似无法解释的问题,请尝试以下方法:
基本上这部分视图似乎没有在ICS设备上重新启用。希望这能解决一些人的问题!
答案 1 :(得分:6)
另一个解决方案是在UI循环的下一个(布局后)循环中设置复合drawable:
final TextView viewById = (TextView) findViewById(R.id.label);
viewById.post(new Runnable()
{
@Override
public void run()
{
viewById.setCompoundDrawablesWithIntrinsicBounds(android.R.drawable.ic_menu_call, 0, 0, 0);
}
});
答案 2 :(得分:0)
当您在xml布局中定义了Drawable(顶部,左侧,右侧,底部)图像时,会出现问题。就像在代码中定义的那个之后应用xml drawable一样。删除xml,然后在任何你想要的代码中执行。
答案 3 :(得分:0)
mBtnNext=(Button) rootView.findViewById(R.id.btnNext);
Drawable drawableRight=new IconicsDrawable(getActivity().getApplicationContext())
.icon(Ionicons.Icon.ion_arrow_right_a)
.color(getResources().getColor(R.color.colorBlack))
.sizeDp(24);
mBtnNext.setCompoundDrawables(null,null,drawableRight,null);
尝试一下,您的问题将得到解决。
答案 4 :(得分:0)
我使用了Ionicons插件。转到以下链接。您将了解如何在Android项目中使用IonIcons。
在您的项目中实现上述Ionicons插件之后。您将获得IconicsDrawable类。
See here to know how to drive IconicsDrawable class in your class
mBtnNext=(Button) rootView.findViewById(R.id.btnNext);
Drawable drawableRight=new IconicsDrawable(getActivity().getApplicationContext())
.icon(Ionicons.Icon.ion_arrow_right_a)
.color(getResources().getColor(R.color.colorBlack))
.sizeDp(24);
mBtnNext.setCompoundDrawables(null,null,drawableRight,null);
希望您现在能理解。