• Android -ui控件


    一:TextView控件
    TextView --》 View

    1.创建TextView的两种方式:

    1.1编写TextView类
    	TextView tv = new TextView(this);
    1.2编写xml文件
    	<TextView
    		android:id="+id/text_view_id"
    		android:layout_height="wrap_content"
    		android:layout_width="wrap_content"
    		android:text="@string/hello"/>
    应用TextView控件:
    	TextView tv = (TextView)findViewById(R.id.text_view_id);
    	tv.setText(R.string.user_greeting);
    

    2.TextView属性:

    字体大小推荐使用sp作为单位;宽高属性推荐使用dp作为单位
    改变样式:
    	2.1textView.setText(Html.fromHtml("<font color=blue>欢迎!</font>"));
    	2.2xml文件中添加样式
    		android:textSize="20sp"
    		android:textColor="#00FF00"		//改变全部字体颜色
    		android:autoLink="all"	//设置是否将文本为url链接/email/电话/map
    	2.3
    		String str = "欢迎收看系列课程";
    	    // class SpannableStringBuilder implements CharSequence
    	    SpannableStringBuilder style = new SpannableStringBuilder(str);
    	    style.setSpan(new ForegroundColorSpan(Color.RED),0,6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    	    style.setSpan(new ForegroundColorSpan(Color.GREEN),6,21, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    	    style.setSpan(new ForegroundColorSpan(Color.BLUE),21,34, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    	    //setText(CharSequence text)
    	    tv.setText(style);
    

    3.跑马灯效果:

    android:ellipsize="marquee"		//当文字过长时,控件如何显示
    android:singleLine="true"		//单行显示文字
    android:focusable="true"		//控件是否能够获取焦点
    android:focusableInTouchMode="true"		//是否在触摸模式下获得焦点
    android:marqueeRepeatLimit="marquee_forever"	//滚动重复次数
    

    二:EditText控件
    EditText --》 TextView --》 View --》 Object

    1.去除EditText自动聚焦的方法:

    <EditText 
    	android:layout-width="0dp"
    	android:layout-height="0dp" />
    

    2.属性设置

    限制字符的输入数量:
    	android:maxLength="3"
    多行文本框:
    	android:singleLine="false"	//true为单行文本框
    限制EditText输入信息:
    	android:inputType="number"	//限制文本输入为数字
    设置提示信息:
    	android:hint="我是EditText"
    在EditText中显示图片:
    	android:drawableLeft="@drawable/title"
    设置圆角:
    	android:background="@drawable/shape"
    

    三:Button控件
    Button --》 TextView

    //button控件
    btn1 = (Button) findViewById(R.id.btn1);
    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
    //              System.out.println("你点击了按钮!");
            Toast.makeText(MainActivity.this,"你点击了按钮!",Toast.LENGTH_SHORT)
                .show();
        }
    });
    //让多个button使用同一个listener
    btn2 = (Button) findViewById(R.id.btn2);
    btn1.setOnClickListener(listener);
    btn2.setOnClickListener(listener);
    
    private View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Button btn = (Button)v;
            switch (btn.getId()){
                case R.id.btn1:
                    Toast.makeText(MainActivity.this,"click me!",Toast.LENGTH_SHORT)
                            .show();
                    break;
                case R.id.btn2:
                    System.out.println("你点击了Button2");
                    break;
            }
        }
    };
    

    四:intent
    1.拨打号码

    private Button mainBtn = null;
    
    public void onCreate(Bundle savedInstanceState){
    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.main);
    	mainBtn = (Button)findViewById(R.id.mainBtn);
    	main.setOnClickListener(listener);
    }
    
    private onClickListener listener = new onClickLister(){
    	public vold onClick(View v){
    		Intent intent = new Intent();
    		intent.setAction(Intent.ACTION_CALL);	//拨打电话
    		intent.setData(uri.parse("tel:110"));
    		intent.setAction(Intent.ACTION_SENDTO);
    		intent.setData(uri.parse("smsto:110"));	//发送短信
    		startActivity(intent);
    	}
    };
    
    AndroidManifest.xml中:
    //解决拨打电话时的安全异常,
    <users-permission android:name="android.permission.CALL_PHONE" />
  • 相关阅读:
    C#程序调试
    jsp连接sql数据库
    SQL记录
    对于和/的小问题:证明路径中可以混合使用斜杠和反斜杠
    集合初识
    details.jsp页面的 response.addCookie(cookie);报错&tomcat高版本下的Cookie问题
    sql查询操作—顺序查询
    myeclipse使用Microsoft JDBC Driver 6.0 for SQL Server连接sql
    JavaScript、Java、C#关于for循环的比较
    关于jsp动作元素的一点疑惑
  • 原文地址:https://www.cnblogs.com/itzlg/p/11104860.html
Copyright © 2020-2023  润新知