select---定义在drawable文件夹中的XML文件

前端之家收集整理的这篇文章主要介绍了select---定义在drawable文件夹中的XML文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

获取Drawable对象:

Resources res = mContext.getResources();
Drawable myImage = res.getDrawable(R.drawable.my_image);

selector是在文件drawable中进行定义的xml文件
它主要定义控件在下
pressed,selected,focused及平常状态下的属性

越前面定义的状态,其优先级越高。对定得某个状态,如果某个属性没有显示说明,则表示此时该属性为任意值,都没关系。
示例1:
定义背景图片
bg_selector.xml文件
<?xmlversion="1.0"encoding="utf-8"?>
<
selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed =" true "
android:drawable =" @drawable/listlayoutsample12xml_press_image "/>
<item
android:state_selected="true"
android:drawable="@drawable/listlayoutsample12xml_focus_image"/>
<item
android:state_focused="true"
android:drawable="@drawable/listlayoutsample12xml_focus_image"/>
<item
android:drawable="@drawable/listlayoutsample12xml_bg_image"/>
</selector>

在布局文件中使用它
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="vertical"
android: background =" @drawable/ bg_selector "
android:paddingRight="13.33dp"
android:layout_height="65.33dp"
android:paddingLeft="31.9dp"
android:gravity="center_vertical">
</LinearLayout>
示例2:
定义selector的颜色
<?xmlversion="1.0"encoding="UTF-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:state_pressed="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:state_selected="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:state_focused="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:color="@touchwiz:color/tw_color003"/>

</selector>
//---------------------------------------
正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示:



实现起来非常简单。
第一步,创建一个背景配置文件float_Box.xml,放到res/drawable下,如下所示(如看不懂可查看本站:):
Xml代码
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <!--
  3. **Copyright2010,Ideasandroid
  4. -->
  5. <shapexmlns:android="http://schemas.android.com/apk/res/android">
  6. <solidandroid:color="#ffffff"/>
  7. <strokeandroid:width="3dp"color="#000000"/>
  8. <cornersandroid:radius="3dp"/>
  9. <paddingandroid:left="10dp"android:top="10dp"android:right="10dp"
  10. android:bottom="10dp"/>
  11. </shape>

第二步,定义一个对话框样式,放到res/values/styles.xml,如下所示:
<!--Copyright(C)2010IdeasAndroid
  • <resources>
  • <!--定义一个样式,继承android系统的对话框样式android:style/Theme.Dialog-->
  • <stylename="Theme.FloatActivity"parent="android:style/Theme.Dialog">
  • <!--float_Box为我们定义的窗口背景-->
  • <itemname="android:windowBackground">@drawable/float_Box</item>
  • </style>
  • </resources>

  • 第三步,创建一个视图配置文件res/layout/float_activity.xml,一个ImageView和一个TextView,如下所示:
    <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  • android:layout_width="fill_parent"
  • android:layout_height="fill_parent">
  • <ImageView
  • android:id="@+id/ideasandroidlogo"
  • android:layout_width="wrap_content"
  • android:layout_height="wrap_content"
  • android:layout_alignParentTop="true"
  • android:src="@drawable/ideasandroid"
  • />
  • <TextViewandroid:layout_width="wrap_content"android:text="@string/ideasandroidIntr"
  • android:layout_below="@id/ideasandroidlogo"
  • android:textColor="@android:color/black"
  • </RelativeLayout>

  • 第四步创建我们的Activity,如下所示:
    Java代码
      publicclassFloatActivityDemoextendsActivity{
    1. @Override
    2. voidonCreate(BundlesavedInstanceState){
    3. super.onCreate(savedInstanceState);
    4. //先去除应用程序标题栏注意:一定要在setContentView之前
    5. requestWindowFeature(Window.FEATURE_NO_TITLE);
    6. //将我们定义的窗口设置为默认视图
    7. setContentView(R.layout.float_activity);
    8. }
    9. }

    最后一步,更改应用程序配置文件AndroidManifest.xml,将我们刚才创建的样式应用到我们的Activity上,如下所示:
    <activityandroid:name=".FloatActivityDemo"android:theme="@style/Theme.FloatActivity">
  • <intent-filter>
  • <actionandroid:name="android.intent.action.MAIN"/>
  • <categoryandroid:name="android.intent.category.LAUNCHER"/>
  • </intent-filter>
  • </activity>
  • 猜你在找的XML相关文章