关于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:andro>
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:andro>
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"