Android常见界面控件 3.1 简单控件的使用 3.1.1 Button的使用 Button控件表示按钮,它继承自TextView控件,既可以显示文本,又可以显示图片,同时也允许用户通过点击来执行操作,当Button控件被点击时,被按下与弹起的背景会有一个动态的切换效果,这个效果就是点击效果 。
3.1.1.2 点击事件实现方式 在布局文件中指定Button控件的onClick属性方式java//在layout文件中指定onClick属性
android:onClick="click"
//在Activity中实现这个click方法
public void click(View v){
Log.i("指定onClick属性方式", "button is clicked");
}123456789注意
Activity中实现的方法名称要与onClick属性设置的名称一致
匿名内部类方式java//在Activity中添加匿名内部类
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("匿名内部类方式", "button is clicked");
}
});1234567接口方式java//设置Button控件的点击监听事件
btn.setOnClickListener(this);
//接着当前Activity实现OnClickListener接口
public class MainActivity extends AppCompatActivity implements View.onClickListener
//然后实现OnClickListener接口中的方法
@Override
public void onClick(View v) {
Log.i("接口方式", "button is clicked");
}1234567893.1.2 RadioButton单选组合框 js android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="25dp" android:text="男"/> android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="25dp" android:text="女"/>
属性名称功能描述android:listSelector当条目被点击后,改变条目的背景颜色android:divider设置分割线的颜色android:dividerHeight设置分割线的高度android:scrollbars是否显示滚动条android:fadingEdge去掉上边和下边的黑色阴影3.2.1 实战演练 xml# activity_main.xml
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> android:id="@+id/myTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="音乐播放器" android:textSize="18sp" android:textColor="#B2DFEE" android:textStyle="bold" android:padding="16dp" android:layout_margin="8dp" /> android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent"/> android:layout_width="wrap_content" android:layout_height="wrap_content" />
# list_item.xml
android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:padding="10dp"> android:id="@+id/icon" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginEnd="10dp" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" /> android:id="@+id/songer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="16sp" />
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
// 1、定义对象
private ListView listView;
private int[] icons = {R.drawable.cq, R.drawable.du, R.drawable.qs, R.drawable.ss, R.drawable.yw, R.drawable.yhsn};
private String[] titles = {"彩券", "渡", "情书", "绅士", "意外", "银河少年"};
private String[] songers = {"薛之谦", "薛之谦", "薛之谦", "薛之谦", "薛之谦", "薛之谦"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.list_view);
listView.setAdapter(new MyAdapter());
// 设置点击事件
listView.setOnItemClickListener((parent, view, position, id) -> {
Toast.makeText(MainActivity.this, "点击了: " + titles[position], Toast.LENGTH_SHORT).show();
});
}
private class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
return titles.length;
}
@Override
public Object getItem(int position) {
return titles[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false);
holder = new ViewHolder();
holder.icon = convertView.findViewById(R.id.icon);
holder.title = convertView.findViewById(R.id.title);
holder.songer = convertView.findViewById(R.id.songer);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
// 设置图标和标题
holder.icon.setImageResource(icons[position]);
holder.title.setText(titles[position]);
holder.songer.setText(songers[position]);
return convertView;
}
private class ViewHolder {
ImageView icon;
TextView title;
TextView songer;
}
}
}12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182