这周在公司App即将发布,根据UI的要求,再次对界面进行UI交互的调整。总结了一下小知识细节。
一、控件获取焦点
mText.setText("gfgss"); mText.setFocusable(true);
xml里面输入框设置默认获取焦点 <requestFocus />
<AutoCompleteTextView android:layout_width="0dp" android:layout_height="match_parent"> <requestFocus /> </AutoCompleteTextView>
二、怎样把光标放在EditText中文本的末尾处?
mText.setSelection(mText.getText().length());
三、activity设置输入法的问题,如有涉及悬浮的布局遮住输入框用adjustPan
启动时activity不弹出输入法stateHidden,在activity那里配置。
android:windowSoftInputMode="stateHidden|adjustPan"
四、layout的分割线设置,或者listview的分割线
android:divider="@drawable/shape_divider" android:showDividers="beginning|middle|end"
五、去掉listview滚动显示
android:scrollbars="none"
六、去掉listview的分割线
android:divider="@null"
七、去除默认的点击选中时的颜色
(1)设置列表layout的backgroudcolor属性就OK了。
(2)
android:focusable="false" android:focusableInTouchMode="false" android:cacheColorHint="#00000000" android:listSelector="#00000000"
八、替换listview 默认的点击选中时的颜色
设置listivew的listSelector属性就可以了。
九、智能的填充剩余的屏幕
有时下面这两条语句比android:layout_width="match_parent"这个好用。更加智能的填充剩余的屏幕
android:layout_height="0dp" android:layout_weight="1"
十、使用ScrollView属性fillViewport解决android布局不能撑满全屏的问题
当ScrollView里的元素想填满ScrollView时,使用"fill_parent"是不管用的,必需为ScrollView设置:android:fillViewport="true"。
当ScrollView没有fillVeewport=“true”时, 里面的元素(比如LinearLayout)会按照wrap_content来计算(不论它是否设了"fill_parent"),而如果LinearLayout的元素设置了fill_parent,那么也是不管用的,因为LinearLayout依赖里面的元素,而里面的元素又依赖LinearLayout,这样自相矛盾.所以里面元素设置了fill_parent,也会当做wrap_content来计算。
十一、 点击对话框以外的部分,结束activity
public boolean onTouchEvent(MotionEvent event) { if (MotionEvent.ACTION_OUTSIDE == event.getAction()) { finish(); return true; } return super.onTouchEvent(event); }
版权声明:本文为博主原创文章,未经博主允许不得转载。