android自定义Activity窗口大小(theme运用)

宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述android自定义Activity窗口大小(theme运用)相关的知识,希望能为你提供帮助。
http://gundumw100.iteye.com/blog/906195
正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示: 

android自定义Activity窗口大小(theme运用)

文章图片
 

实现起来非常简单。 
第一步,创建一个背景配置文件float_box.xml,放到res/drawable下,如下所示(如看不懂可查看本站:): 
Xml代码   
android自定义Activity窗口大小(theme运用)

文章图片
  1. < ?xml  version="1.0"  encoding="utf-8"?>    
  2.         < !-- 
  3. **  Copyright  2010,  Ideasandroid 
  4. -->    
  5. < shape  xmlns:android="http://schemas.android.com/apk/res/android">    
  6.         < solid  android:color="#ffffff"  />    
  7.         < stroke  android:width="3dp"  color="#000000"  />    
  8.         < corners  android:radius="3dp"  />    
  9.         < padding  android:left="10dp"  android:top="10dp"  android:right="10dp"   
  10.                 android:bottom="10dp"  />    
  11. < /shape>    

第二步,定义一个对话框样式,放到res/values/styles.xml,如下所示: 
Xml代码   
android自定义Activity窗口大小(theme运用)

文章图片
  1. < ?xml  version="1.0"  encoding="utf-8"?>    
  2.         < !--  Copyright  (C)  2010  IdeasAndroid 
  3. -->    
  4. < resources>    
  5.         < !--  定义一个样式,继承android系统的对话框样式  android:style/Theme.Dialog-->    
  6.         < style  name="Theme.FloatActivity"  parent="android:style/Theme.Dialog">    
  7.                 < !--  float_box为我们定义的窗口背景-->    
  8.                 < item  name="android:windowBackground"> @drawable/float_box< /item>    
  9.         < /style>    
  10. < /resources>    

第三步,创建一个视图配置文件res/layout/float_activity.xml,一个ImageView和一个TextView,如下所示: 
Xml代码   
android自定义Activity窗口大小(theme运用)

文章图片
  1. < ?xml  version="1.0"  encoding="utf-8"?>    
  2. < !--  Copyright  (C)  2010  IdeasAndroid 
  3. -->    
  4. < RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"     
  5.         android:layout_width="fill_parent"     
  6.         android:layout_height="fill_parent">      
  7.         < ImageView     
  8.         android:id="@+id/ideasandroidlogo"   
  9.         android:layout_width="wrap_content"     
  10.         android:layout_height="wrap_content"   
  11.         android:layout_alignParentTop="true"   
  12.         android:src="https://www.songbingjia.com/android/@drawable/ideasandroid"   
  13.         />    
  14.         < TextView    android:layout_width="wrap_content"  android:text="@string/ideasandroidIntr"   
  15.         android:layout_height="wrap_content"   
  16.         android:layout_below="@id/ideasandroidlogo"   
  17.         android:textColor="@android:color/black"   
  18.         />    
  19. < /RelativeLayout>    

第四步创建我们的Activity,如下所示: 
java代码   
android自定义Activity窗口大小(theme运用)

文章图片
  1. public  class  FloatActivityDemo  extends  Activity  {   
  2.         @Override   
  3.         public  void  onCreate(Bundle  savedInstanceState)  {   
  4.                 super.onCreate(savedInstanceState);    
  5.                 //先去除应用程序标题栏    注意:一定要在setContentView之前   
  6.                 requestWindowFeature(Window.FEATURE_NO_TITLE);    
  7.                 //将我们定义的窗口设置为默认视图   
  8.                 setContentView(R.layout.float_activity);    
  9.      
  10.         }   
  11. }   
【android自定义Activity窗口大小(theme运用)】
最后一步,更改应用程序配置文件AndroidManifest.xml,将我们刚才创建的样式应用到我们的Activity上,如下所示: 
Xml代码   
android自定义Activity窗口大小(theme运用)

文章图片
  1. < activity  android:name=".FloatActivityDemo"  android:theme="@style/Theme.FloatActivity">    
  2.                         < intent-filter>    
  3.                                 < action  android:name="android.intent.action.MAIN"  />    
  4.                                 < category  android:name="android.intent.category.LAUNCHER"  />    
  5.                         < /intent-filter>    
  6.                 < /activity>    

自己试一试吧! 

Demo下载地址:http://www.ideasandroid.com/android/demo/FloatActivityDemo.rar













    推荐阅读