【Android】学习笔记(1)基础控件

1.TextView 文字文本

android:id="+id/控件名"

match_parent表示当前控件和父布局的大小一样。

wrap_content表示点当前的控件大小刚好能保住里面的内容

android:gravity属性有:top、bottom、left、right、center。同时可以“|”指定多个值

android:textSize指定字体大小,使用sp作为单位

android:textColor指定字体颜色

2.Button按钮

android:id="+id/控件名"

android:text按钮上方的说明

android:textAllCaps="false | true"设置按钮说明文字自动大写

注意:需要将布局改为LinearLayout,并且带上android:orientation="vertical"意思是采用垂直布局

1.监听方式一:匿名内部类

button.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        //逻辑代码
    }
});

2.监听方法二:调用方法

....onCreate(Bundle savedInstanceState){
    .....
    button.setOnClickListener(this);
}

@Override
public void onClick(View v){
    //逻辑代码
}

3.EditTexts输入框

android:hint输入框提示文字

android:maxLines指定输入的最大行数,eg:“num”

4.ImageView图片展示

android:src图片视图插入图片

setImageResource()设置图片

5.ProgressBar进度条

android:visibility可见属性。visible(可见) | invisible(不可见) | gone(不仅不可见且不占用屏幕空间)

setVisibility()传入得三个值。View.VISIBLE View.INVISIBLE  View.GONE

style设置进度条的样式

6.AlertDialog对话框

此对话框置顶与所有界面元素之上,能屏蔽其他控件的交互能力。一般用于提示一些非常重要的内容或者警告信息。

dialog.setTitle设置对话框的标题

setMessage()设置提示信息

dialog.setPositiveButton()设置确认按钮

dialog.setNegativeButton()设置取消按钮

7.ProgressDialog与AlertDialog类似,具有进度条

setTitle()设置标题

setMessage()设置提示信息

setCancelable()设置退出为真,true表示可以通过back取消,false表示不行

dismiss()关闭对话框

8.ListView滚动控件

利用适配器将数组中得数据和ListView相关联

ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                MainActivity.this,android.R.layout.simple_list_item_1,data);
        ListView listView = (ListView) findViewById(R.id.list_view);
        listView.setAdapter(adapter);

getView()方法中得convertView参数,用于将之前加载好得布局进行缓存,以便于重用。

新建内部类对于控件进行控件缓存。进行应用的性能优化。

public View getView(int position,  View convertView, ViewGroup parent) {
        Fruit fruit = (Fruit)getItem(position);
        View view;
        ViewHolder viewHolder;
        if(convertView==null){
            view = LayoutInflater.from(getContext()).inflate(resourceId,parent,false);
            viewHolder = new ViewHolder();
            viewHolder.fruitImage = (ImageView) view.findViewById(R.id.fruit_image);
            viewHolder.fruitName = (TextView) view.findViewById(R.id.fruit_name);
            view.setTag(viewHolder);
        }else {
            view = convertView;
            viewHolder = (viewHolder)view.getTag();
        }
        viewHolder.fruitImage.setImageResource(fruit.getImageId());
        viewHolder.fruitName.setText(fruit.getName());
        return view;
    }
    class ViewHolder{
        ImageView fruitImage;
        TextView fruitName;
    }

9.RecyclerView——增强版的ListView

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:recyclerview-v7:28.0.0-alpha3'
}

引入依赖闭包。如上最后一行,保持版本号一致。

猜你喜欢

转载自blog.csdn.net/qq_36664584/article/details/81140533