---------------------------------------------------------------------------------------------------
adapter的item跳转到activity,想要实现跳转动画,需要把activity传进adapter,然后activity.overridePendingTransition(,);
---------------------------------------------------------------------------------------------------
设置textview的高度行数限制,
maxline和超出后显示省略号ellipsize,判断是否已经显示到maxline的方法:
Layout l = tv.getLayout();
int lines = tv.getLineCount();
if (lines > 0) {
if (l.getEllipsisCount(lines - 1) > 0) {
Intent intent = new Intent(mContext,
ShowActivity.class);
intent.putExtra("info", getItem(position));
mContext.startActivity(intent);
activity.overridePendingTransition(R.anim.tougu_activity_in, R.anim.tougu_activity_out);
} else {
LogUtil.e("Text is not ellipsized" + lines);
}
}
---------------------------------------------------------------------------------------------------
貌似必须是这几个item,第一个item我没用的时候 圆角没效果。。。。
<item android:state_enabled="false"><shape>
<solid android:color="@color/theme_blue" />
<corners android:radius="5dp" />
</shape></item>
<item android:state_pressed="true"><shape>
<solid android:color="@color/theme_blue_light" />
<corners android:radius="5dp" />
</shape></item>
<item android:state_focused="false"><shape>
<solid android:color="@color/theme_blue" />
<corners android:radius="5dp" />
</shape></item>
<item android:state_focused="true"><shape>
<solid android:color="@color/theme_blue_light" />
<corners android:radius="5dp" />
</shape></item>
</selector>
---------------------------------------------------------------------------------------------------
调用接口中间Dialog显示进度的时候,注意接口调用失败的情况,
如果dialog设置back键可dismiss,万一碰到接口超时等网络问题,如果在接口失败方法里又加入了另一个Dialog弹窗提示失败信息,
万一在超时期间用户点击back,dismiss掉接口的dialog进度条,又back返回到上一界面, 等到接口超时返回的时候,然后弹出dialog提示超时,这时候dialog找不到依附的activity,程序会崩溃
请注意可以用try catch捕获。
---------------------------------------------------------------------------------------------------
android:focusable="true"
android:focusableInTouchMode="true"
这个属性跟获取焦点有关系,我布局中用自定义scrollview和自定义listview嵌套,结果listview上方的控件被顶上去隐藏掉了,对scrollView设置这个属性,就可以解决了。
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
原因:
setClickable(false)方法一定要在setOnClickListener()方法之后用;
setOnClickListener()方法会重新绘制View;
即setOnClickListener方法会默认把控件的setClickable设置为true。
解决:
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
button.setClickable(false);
}
});
---------------------------------------------------------------------------------------------------
Button三个属性:
setClickable 设置为true时,表明控件可以点击,如果为false,就不能点击;“点击”适用于鼠标、键盘按键、遥控器等;
注意,setOnClickListener方法会默认把控件的setClickable设置为true。
setEnabled 使能控件,如果设置为false,该控件永远不会活动,不管设置为什么属性,都无效;
设置为true,表明激活该控件,控件处于活动状态,处于活动状态,就能响应事件了,比如触摸、点击、按键事件等;
setEnabled就相当于总开关一样,只有总开关打开了,才能使用其他事件。
setFocusable 使能控件获得焦点,设置为true时,并不是说立刻获得焦点,要想立刻获得焦点,得用requestFocus;
使能获得焦点,就是说具备获得焦点的机会、能力,当有焦点在控件之间移动时,控件就有这个机会、能力得到焦点。
---------------------------------------------------------------------------------------------------
在dialog中设置字体不能引用资源文件,后来发现因为要加上context。
setTextColor(context.getResources().getColor(R.color.login_tab_color));