Android笔记
16lz
2021-12-04
GridView
代码:android:verticalSpacing="8dp"android:horizontalSpacing="8dp"说明:gridview每个格子之间的间隔(垂直,水平)
140320:GridView, ListView更改点击背景gridView.setSelector(new ColorDrawable(Color.TRANSPARENT));
ListView
140324:listview 没分割线android:divider="#FFCC00"
//140504listview 的onItemClick拿数据mListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { ListView lv = (ListView) parent; ListViewItem data = (ListViewItem) lv.getItemAtPosition(position); Intent intent = new Intent(mContext, Demo.class); intent.putExtra(Demo.KEY, data); startActivity(intent); }});
Layout
layout_width和layout_height中fill_parent已经过时,使用match_parent替换
140317:layout_gravity与gravity的区别layout_gravity是组件相对父窗体显示的位置(注意不要把组件的width设成match_parent,否则layout_gravity无效)grivaty是组件内内容的显示的位置
居右,居左android:layout_alignParentLeft="true"android:layout_alignParentRight="true"
140320:layout_weight数值越小,占的位置越大
如果要高weight,则layout_height="0",如果要宽weight,则layout_width='0'android:layout_weight="1"(占6分之5的位置)android:layout_weight="5" (点6分之1的位置)
140324:LinearLayout里面的组件没有居左居右(即:组件里面的android:layout_gravity无效, FrameLayout里面的组件用这个属性才有效)
140326:layout_gravity无效1.检查一下组件的高度是不是match_parent,是的话改为wrap_content
2.检查一下父控件是不是wrap_content
3.如果是动态添加组件,xml中设置的居中都无效,要在代码中重新设置,代码如下
LayoutParams pars = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);pars.leftMargin = 12;pars.gravity = Gravity.CENTER_VERTICAL;view.setLayoutParams(pars)
140331:
居中RelativeLayout里组件写layout_gravity是无效的,要使用android:layout_centerInParent,layout_centerVertical,layout_centerHorizontal(里面的组件高度是要wrap_content,不能是match_parent), 但是RelativeLayout的gravity有效layout_gravity只在FrameLayout和LinearLayout里有效
140402:动态添加组件,设置layout_height无效,应该加上minHeight
TextView
android:singleLine="true"说明当不要TextView因为字数太长而换行时,可以设为true超长部分用...省略
文字居中android:gravity="center"
EditText
EditText获取焦点软盘无效,即使设置focusable,requestFocus都无效,加上下面代码即可((InputMethodManager)mContext.getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);
View
140417:view 的onKey函数会执行两次,一次是onKeyDown,一次是onKeyUp所在在onKey方法里面要进行判断view.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ }else{ //do sth } return false; } });
Selector
<!--140321:创建一个点击的selector--><?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_enabled="false" android:drawable="@drawable/bg_topbar_edit"></item> <item android:state_pressed="true" android:drawable="@drawable/bg_topbar_edit_pressed"></item></selector><!--使用--><ImageView android:background="@drawable/selector.xml" />
140321:如果组件初始化没有设置onClickListener,selector是不会生效的,至少Layout这个view是不行的
Style
可以在styles.xml里对一些字体进行统一设置基类 <style name="myTextApprearence" parent="@android:style/TextAppearance"> <item name="android:textColor">@android:color/black</item></style>子类<style name="myTextApprearence.big"> <item name="android:textSize">22sp</item></style><style name="myTextApprearence.medium"> <item name="android:textSize">18sp</item></style>再子类<style name="myTextApprearence.micro.medium"> <item name="android:textColor">@android:color/darker_gray</item></style>然后在TextView里面用如下方法调用style="@style/myTextApprearence.small"
更多相关文章
- 2011.07.11(2)——— android 自定义Notification
- android布局layout中的一些属性
- android布局layout中的一些属性
- Android应用程序框架
- Android处理9.png文件流程
- Android(安卓)项目中集成 Flutter
- 《Android/OPhone 开发完全讲义》已出版,现提供源代码下载
- Android显示调用App内部组件/第三方App内组件
- Android概述