Android UI细节知识点一(edittext、listview、填充屏幕等)

这周在公司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);
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值