你的位置:首页 > 操作系统

[操作系统]Android中常用控件及属性


  在之前的博客为大家带来了很多关于Android和jsp的介绍,本篇将为大家带来,关于Andriod中常用控件及属性的使用方法,目的方便大家遗忘时,及时复习参考。好了废话不多讲,现在开始我们本篇内容的介绍。

  1、控制应用显示的方向:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖直显示效果。setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横向显示效果。

  将上句添加在setContentView(R.layout.activity_one);下面即可。

  2、文本单行显示及文本单行输入:

<!--   设置文本显示在一行   --> android:singleLine="true";

  3、TabActivity的实现方法:

  a、布局文件:

<RelativeLayout   ="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  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=".Activitytwo" >  <TabHost     android:id="@+id/bookTabHost"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    >    <LinearLayout       android:id="@+id/doneBook"      android:orientation="vertical"      android:layout_height="wrap_content"      android:layout_width="wrap_content"      >      <TextView        android:text="边城"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />      <TextView        android:text="围城"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />      <TextView        android:text="追风筝的人"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />    </LinearLayout>        <LinearLayout       android:id="@+id/doingBook"      android:orientation="vertical"      android:layout_height="wrap_content"      android:layout_width="wrap_content"      >      <TextView        android:text="倾城之恋"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />      <TextView        android:text="灿烂千阳"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />      <TextView        android:text="活着"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />    </LinearLayout>        <LinearLayout       android:id="@+id/willBook"      android:orientation="vertical"      android:layout_height="wrap_content"      android:layout_width="wrap_content"      >      <TextView        android:text="百年孤独"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />      <TextView        android:text="房子里的大象"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />      <TextView        android:text="忏悔"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        />    </LinearLayout>  </TabHost></RelativeLayout>

  b、activity代码:

public class Activitytwo extends TabActivity{  public TabHost bookth = null;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    bookth = getTabHost();    LayoutInflater.from(this).inflate(R.layout.activity_two, bookth.getTabContentView(), true);    bookth.addTab(bookth.newTabSpec("done").setIndicator("已读").setContent(R.id.doneBook));    bookth.addTab(bookth.newTabSpec("doing").setIndicator("正读").setContent(R.id.doingBook));    bookth.addTab(bookth.newTabSpec("will").setIndicator("未读").setContent(R.id.willBook));  } }

  c、效果图:

  

  值得提醒的是,目前更为推崇的方式是ViewPager+fragement

  4、文本输入提示:

  a、布局文件代码:

<AutoCompleteTextView     android:id="@+id/acTextView"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:hint="请输入姓名:"    android:textColor="#000"    android:maxLength="10"    /><MultiAutoCompleteTextView    android:id="@+id/macTextView"    android:layout_below="@id/acTextView"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:hint="请输入城市:"    android:textColor="#000"    android:maxLength="5"    />

  b、Activity代码:

public class Activityfive extends Activity{    private AutoCompleteTextView acTextView;  private MultiAutoCompleteTextView macTextView;  private String [] arr = {"abc","abx","abo","bdc","bdf"};  private String [] brr = {"ab北京","ab南京","ab东京","bb莫斯科","bb英国","bb美国"};    @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_five);    acTextView = (AutoCompleteTextView) findViewById(R.id.acTextView);    macTextView = (MultiAutoCompleteTextView) findViewById(R.id.macTextView);    ArrayAdapter<String> arrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, arr);     acTextView.setAdapter(arrAdapt);    ArrayAdapter<String> brrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, brr);    macTextView.setAdapter(brrAdapt);    macTextView.setThreshold(1);//设置输入多少个字符开始自动匹配    macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//设置分隔符  }  }

  5、发送广播:

  a、创建广播内容:

public class Activityone extends Activity {  final String Intent_Action = "com.android.BroadcastReceiverDemo";//广播的地址;自定义设置  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_one);    Intent intent = new Intent(Intent_Action);    intent.putExtra("name", "小米");//广播的内容    Activityone.this.sendBroadcast(intent);//发送广播  }}

  b、在AndroidManifest.

<!-- 设置广播接收器 -->    <receiver       android:name="cn.edu.hpu.android.activity_broadcast.MyBroadcastReceiver"      android:enabled="true"      >      <intent-filter>        <action android:name="com.android.BroadcastReceiverDemo" />      </intent-filter>          </receiver>

  c、接收广播:

public class MyBroadcastReceiver extends BroadcastReceiver{  @Override  public void onReceive(Context context, Intent intent) {       String name = intent.getStringExtra("name");//接收广播发送出来的数据      Toast.makeText(context, " "+name, Toast.LENGTH_SHORT).show();      }}

  6、获得用户网络状况:

public class MainActivity extends Activity {  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //获得网络连接对象    ConnectivityManager nw = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);    NetworkInfo netinfo = nw.getActiveNetworkInfo();        Toast.makeText(MainActivity.this, "当前网络"+add(netinfo.isAvailable())+","+"网络"+app(netinfo.isConnected())+","+"网络连接"+adp(netinfo.isConnected()), Toast.LENGTH_LONG).show();  }    String add(Boolean bl){    String s = "不可用";    if(bl==true){      s="可用";    }    return s;  }    String app(Boolean bl){    String s = "未连接";    if(bl==true){      s="已连接";    }    return s;  }    String adp(Boolean bl){    String s = "不存在!";    if(bl==true){      s="存在!";    }    return s;  }  }

  注意:在AndroidManifest.<uses-permission   android:name="android.permission.ACCESS_NETWORK_STATE"/>

  7、SharedPreferences存储:

SharedPreferences sp = getSharedPreferences(FILE_NAME, Context.MODE_APPEND);        Editor editor = sp.edit();//获得编辑对象        editor.clear();        editor.putString("name", name);        editor.putString("password", number);        editor.commit();//提交内容保存

  注意:FILE_NAME是我们设置的唯一标识,方便我们进行查询和修改。

  8、SharedPreferences内容获得:

 

SharedPreferences sp = getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);        String name1 = sp.getString("name", "");        String password = sp.getString("password", "");

 

  注意:FILE_NAME:要和我们上面设置的一致,这样才能取得上面的我们保存的内容。sp.getString("name", "");简单介绍一下,第一个参数是我们需要获得的数据存储时的标签,第二个参数是当我们获得数据不存在时,返回的内容。

   9、Toast使用:

  a、系统自带形式:

 

Toast.makeText(getApplicationContext(), "系统自带提示形式", Toast.LENGTH_SHORT).show();

 

  b、自定义形式:

Toast toast = new Toast(getApplicationContext());        toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);//设置显示的位置        toast.setDuration(Toast.LENGTH_LONG);//设置显示的时间                toast.setView(getLayoutInflater().inflate(R.layout.activity_two, null));//设置自定义的视图         toast.show();

  效果图: