小默

思考。。。

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);
	}


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16064871/article/details/46839961
文章标签: android 界面 ui app
个人分类: Android UI设计
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭