Android UI
3.2.1TextView
<TextView
android:id="@+id/text_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="This is TextView"
/>
这些都比较基础,所以不多说了,下面是有一些特别的,
- android:gravity可以用来决定文本的对齐方式
- android:textSize决定大小
- android:textColor决定颜色
3.2.2 Button
有以下属性
- android:textAllCaps=”false” 按钮上的字符默认是全部大写,标记为false可以取消这一限制
- 并且可以对它设置监听方式 ,以内部类的方式完成,之前有写过
3.2.3 EditText
属性
- android:hint=”dfeuwfh” 提示语句
- android:maxLines=”2” 设置最大的行数
想要从edittext中把输入的文本读出来用以下代码
editText = (EditText)findViewById(R.id.edit_text);
String inputString = editText.getText().toString();
``
#3.2.4 ImageView
属性
* android:src="@drawable/img_1"
同时我们可以把ImageView动态调整它的资源
imageView = (ImageView)findViewById(R.id.image_view);
imageView.setImageResource(R.drawable.img_2);
#3.2.5 ProgressBar
可以在属性里面设置可见
android:visibility=
里面有三种属性可以设置,visible,invisible,gone,第二个表示,不可见,但是仍然占据之前的位置,gone则是完全消失。
当然也可以通过代码的方式来将它完成
progressBar = (ProgressBar) findViewById(R.id.progress_bar)
if(progressBar.getVisibility()==View.GONE)
progressBar.setVisibility(View.VISIBLE);
同时还有几个属性
style = "?android:attr/progressBarStyleHorizontal"
android:max="100"
style设置他的样式,max则是进度条的最大值
可以通过setProgress()来让进度条慢慢变大
#3.3 4种布局
1.线性布局
属性:
可以通过android:orientation 来判断是垂直放置,还是平行放置
同样之前gravity是文字在控件中如何排列
layout_gravity则是控件在布局中如何放置
而layout_weight则是用来把控件所占的控件根据权重平分
2.相对布局
通过layout_alignParentLeft/Buttom/Top/Right="true"则是相对父布局如何放置
layout_above/toLeftOf/below/toRightOf="@id/xxx"相对于控件是如何放置的
3.帧布局
4.百分比布局
#3.4自定义控件
可以自定义一个layout文件,然后通过在任何布局文件
<include layout="@layout/title"直接将这个布局导入
但是这样只是有一个布局文件,里面的点击什么没有定义,每次新定义一个都会要重新定义点击事件,所以我们可以通过定义一个类让他继承LinearLayout或者别的文件,然后通过
LayoutInflater.from(context).inflate(R.layout.title,this);
然后这样子布局文件就动态载入进来,然后我们通过在布局文件中添加
<com.examples.uicustomviews.TitleLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
这样子就把控件全部加入,然后在定义的类里面为各个按钮控件定义行为
因为ListView基本是RecyclerView的子集所以这里只写RecyclerView
3.6 RecyclerView
首先现在app/build.gradle里面添加
compile ‘com.android.support:recyclerview-v7:24.2.1’
然后在布局文件中添加这个控件
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
然后我们需要为这个控件添加适配器
首先要先有个ViewHolder这个类,他们保存一些属性,传给她view
通过findViewById来为各个属性赋值
然后构造函数用数组构造
然后又个OnCreateViewHolder
动态加载子项布局给到ViewHolder,使得他可以为子项布局加载,然后在OnBindViewHolder中对holder通过set方法来赋予属性
这个RecyclerView我们可以通过layoutmanger来决定她是怎么的一个布局
3代表列数
样子就可以给每一个项目子项主项都定一个点击事件,在oncreate中定义,holder.fruitView 是主界面,fruitImage是图片
上一篇: 第三方服务之Bmob——答题系统小项目