dhroid学习(一)

最近一直在学习dhroid框架,从配置框架到学习里面的东西,遇到了不少的问题。现在一 一记录下自己遇到的问题。

首先,工程中框架配置好后,是有dialog没有效果。

Application类中进行全局配置:

public class MyApplication extends Application{

	/**
	 * dhroid框架在application中的配置
	 */
	@Override
	public void onCreate() {
		super.onCreate();
		IocContainer.getShare().initApplication(this);
		IocContainer.getShare().bind(MyDialogImpl.class).to(IDialog.class) //这里使用的是默认配置
                //这是单例
                .scope(InstanceScope.SCOPE_SINGLETON);
                //配置ValueFix对象基本每个项目都有自己的实现
		IocContainer.getShare().bind(MyValueFixer.class)
                .to(ValueFix.class)
                .scope(InstanceScope.SCOPE_SINGLETON);
        		
	}
}
MyDialogImpl类继承的是DialogImp,代码如下:
<pre name="code" class="java">public class MyDialogImpl extends DialogImpl {

	@Override
	public void showToastShort(Context context, String msg) {
		if (!TextUtils.isEmpty(msg)) {
			super.showToastLong(context, msg);
			Toast toast = IocContainer.getShare().get(Toast.class);
			toast.setDuration(Toast.LENGTH_SHORT);
			View view = toast.getView();
			TextView text = (TextView) view.findViewById(R.id.ivory_toast_text);
			if (text == null) {
				View toastview = LayoutInflater.from(context).inflate(
						R.layout.toast_view, null);
				text = (TextView) toastview.findViewById(R.id.ivory_toast_text);
				LayoutParams params = text.getLayoutParams();
				<span style="color:#FF6666;">IUtil.init((Activity)context);</span>
				params.width = IUtil.getDisplaywidth();
				text.setLayoutParams(params);
				toast.setView(toastview);
				toast.setGravity(Gravity.TOP, 0, DhUtil.dip2px(context, 48));
			}
			
			text.setText(msg);
			toast.show();
		}
	}

	@Override
	public void showToastLong(Context context, String msg) {
		showToastShort(context, msg);
	}

	@Override
	public void showToastType(Context context, String msg, String type) {
		showToastShort(context, msg);
	}
然后在其他类中注入IDialog,调用showToastShort()方法时,toast一直无法弹出,原因是没有调用上述代码中标红的代码,toast的宽度为0.
下面附上IUtil类:
public class IUtil {
	private static 	int displaywidth;
	private static 	int displayHeight;
	
	public static void init(Activity activity) {
		// 获取屏幕的宽�?
		Display display = activity.getWindowManager().getDefaultDisplay();
		displaywidth = display.getWidth();
		displayHeight = display.getHeight();
	}

	public static int getDisplaywidth() {
		return displaywidth;
	}

	public static int getDisplayHeight() {
		return displayHeight;
	}
	
	
}
这些在dhroid的demo中写的很清楚


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值