android开发学习——day8

  关于UI学习的总结

  EditText的练习

  MainActivity.java代码

package test.example.com.ch02_button;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    int size=30;//字体大小,初值为30
    public void bigger(View v){
        TextView txv;
        txv= (TextView) findViewById(R.id.txv);//强制类型转换
        txv.setTextSize(++size);
    }
    public void smaller(View v){
        if(size>30){
            TextView txv= (TextView) findViewById(R.id.txv);
            txv.setTextSize(--size);
        }
    }
}

  电话簿UI练习

  1.利用属性设置布局

  2.按比例排布控件

  3.改变控件字体颜色以及背景颜色

  4.插入背景图片

  activity_main.xml代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/ic_launcher"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="test.example.com.ch03_linearlayout.MainActivity">


    <LinearLayout
        android:orientation="horizontal"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textColor="#ffa763ee"
            android:text="@string/firstname"
            android:textSize="25dp"/>

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:text=""
            android:ems="10"
            android:id="@+id/editText"
            android:layout_weight="4"
            android:hint="输入姓氏"
            android:ellipsize="end"
            android:singleLine="true" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:orientation="horizontal">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textColor="#ffa763ee"
           android:text="@string/lastname"
            android:textSize="25dp"/>

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:text=""
            android:ems="10"
            android:id="@+id/editText1"
            android:layout_weight="4"
            android:hint="输入名字"
            android:ellipsize="end"
            android:singleLine="true" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:orientation="horizontal">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textColor="#ffa763ee"
            android:text="@string/tel"
            android:textSize="25dp"/>

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:inputType="phone"
            android:text=""
            android:ems="10"
            android:id="@+id/editText2"
            android:layout_weight="4"
            android:ellipsize="end"
            android:singleLine="true"
            android:hint="(01)234567890" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:orientation="horizontal">
    <TextView
        android:text="@string/psw"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textColor="#ffa763ee"
        android:id="@+id/textView"
        android:textSize="25dp"/>

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:inputType="textPassword"
            android:ems="10"
            android:id="@+id/editText4"
            android:layout_weight="4"
            android:ellipsize="end"
            android:singleLine="true" />
    </LinearLayout>
<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="20dp"
    android:paddingBottom="20dp"
    android:paddingRight="30dp"
    android:paddingLeft="30dp">
    <Button
        android:text="确定"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:textColor="#00F"
        android:background="#80feff79"
        android:id="@+id/button"
        android:onClick="onClick" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        android:id="@+id/textView3" />
</LinearLayout>
</LinearLayout>

  MainActivity.java代码

package test.example.com.ch03_linearlayout;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    EditText firstname,lastname,tel;
    TextView txv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        firstname=(EditText)findViewById(R.id.editText);
        lastname=(EditText)findViewById(R.id.editText1);
        tel=(EditText)findViewById(R.id.editText2);
        txv=(TextView)findViewById(R.id.textView3);
    }
    public void onClick(View v){
        txv.setText(firstname.getText().toString()+lastname.getText().toString()+"的电话是"+tel.getText());
    }
}

  

  

  

  变色程序

  activity_main.xml代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="test.example.com.chameleon_test.MainActivity">
    <LinearLayout
        android:id="@+id/colorblock"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:paddingTop="20dp"
        android:paddingBottom="20dp">

    </LinearLayout>
    <LinearLayout
        android:id="@+id/hello"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="20dp"
        android:paddingBottom="20dp">
<TextView
    android:id="@+id/hhh"
    android:textSize="30dp"
    android:text="Hello World!"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="40dp"
        android:paddingBottom="20dp">
        <TextView
            android:id="@+id/txvR"
            android:text="@string/red"
            android:textSize="30dp"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <TextView
            android:id="@+id/txvG"
            android:text="@string/green"
            android:textSize="30dp"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
        <TextView
            android:id="@+id/txvB"
            android:text="@string/blue"
            android:textSize="30dp"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="40dp"
        android:paddingBottom="20dp"
        android:paddingRight="30dp"
        android:paddingLeft="30dp">
    <Button
        android:text="@string/change"
        android:textSize="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button"
        android:onClick="changecolor" />
    </LinearLayout>
</LinearLayout>

  MainActivity.java代码

package test.example.com.chameleon_test;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

    TextView red,green,blue,hh;
    View Colorblock;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        red=(TextView)findViewById(R.id.txvR);
        green=(TextView)findViewById(R.id.txvG);
        blue=(TextView)findViewById(R.id.txvB);
        hh=(TextView)findViewById(R.id.hhh);
        Colorblock=findViewById(R.id.colorblock);
    }
    public void changecolor(View v){
        Random x=new Random();
        int r=x.nextInt(256);
        red.setText("红:"+r);
        red.setTextColor(Color.rgb(r,0,0));

        int g=x.nextInt(256);
        green.setText("绿:"+g);
        green.setTextColor(Color.rgb(0,g,0));

        int b=x.nextInt(256);
        blue.setText("蓝:"+b);
        blue.setTextColor(Color.rgb(0,0,b));
        Colorblock.setBackgroundColor(Color.rgb(r,g,b));
        hh.setTextColor(Color.rgb(r,g,b));
    }
}

  

  

  下划线的解决问题
  EidtText和textview中内容过长的话自动换行,使用android:ellipsize与android:singleine可以解决,使只有一行。
  EditText不支持marquee
  用法如下:
  在xml中
  android:ellipsize = "end"    省略号在结尾
  android:ellipsize = "start"   省略号在开头
  android:ellipsize = "middle"     省略号在中间
  android:ellipsize = "marquee"  跑马灯
  android:singleline = "true"

原文地址:https://www.cnblogs.com/wangtianning1223/p/6390158.html