Android UI

3.2.1TextView

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文件,然后通过在任何布局文件
"@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"/>

这样子就把控件全部加入,然后在定义的类里面为各个按钮控件定义行为
Android UI_第1张图片

因为ListView基本是RecyclerView的子集所以这里只写RecyclerView

3.6 RecyclerView

首先现在app/build.gradle里面添加

compile ‘com.android.support:recyclerview-v7:24.2.1’

然后在布局文件中添加这个控件

.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
/>

然后我们需要为这个控件添加适配器

Android UI_第2张图片

首先要先有个ViewHolder这个类,他们保存一些属性,传给她view
通过findViewById来为各个属性赋值

然后构造函数用数组构造
然后又个OnCreateViewHolder
动态加载子项布局给到ViewHolder,使得他可以为子项布局加载,然后在OnBindViewHolder中对holder通过set方法来赋予属性

这个RecyclerView我们可以通过layoutmanger来决定她是怎么的一个布局

这里写图片描述

这里写图片描述

这里写图片描述

3代表列数

Android UI_第3张图片

样子就可以给每一个项目子项主项都定一个点击事件,在oncreate中定义,holder.fruitView 是主界面,fruitImage是图片

你可能感兴趣的:(Android)