关于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代码
<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 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 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 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 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" />
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代码
<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 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 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 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" />
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"