android样式,android样式文件怎么创建
简述Android 中样式文件使用步骤
在Eclipse中android程序项目目录结构下的res文件夹新建drawable文件夹,并在drawable文件夹下新建各类的xml样式文件,供layout文件夹下的xml布局文件引用,以满足对程序界面的需求开发。如图1和图2是drawable下xml样式文件的样式类型。
创新互联从2013年成立,先为容城等服务建站,容城等地企业,进行企业商务咨询服务。为容城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
图1、drawable下xml样式文件的样式类型(一)
图2、drawable下xml样式文件的样式类型(二)
接下来我们要详细解析以下各类xml样式文件的作用及其使用方法,请点击目录查看相应解析。
2、animation-list
使用animation-list样式可以实现逐帧动画效果,例如WiFi网络信号的强弱表示或者语音聊天声音的强弱表示,分为增强和减弱两种逐帧动画效果。
首先是放置图片素材,如图3所示。将其根据屏幕分辨率大小分别放一套图片到不同屏幕分辨率的drawable文件夹下,android系统会根据机器的屏幕分辨率到相应屏幕分辨率的drawable文件夹里面去找相应的图片素材,以兼容不同屏幕分辨率的安卓机器屏幕。
图3、iv1到iv4
其次是信号增强即图片顺序播放的效果,在drawable下新建animation_list_sequence.xml样式文件。
?xml version="1.0" encoding="utf-8"?!--
根标签为animation-list;
其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画;
其中visible规定drawable的初始可见性,默认为flase;
其中variablePadding若为true则允许drawable的距离在当前选择状态下有所改变(If true, allows the drawable’s padding to change based on the current state that is selected.),默认为false;
根标签下,通过item标签对动画中的每一个图片进行声明;
android:duration 表示展示所用的该图片的时间长度,单位为毫秒;
--animation-list xmlns:android=""
android:oneshot="true"
android:visible="false"
android:variablePadding="false"
item android:drawable="@drawable/iv1" android:duration="200"/item
item android:drawable="@drawable/iv2" android:duration="200"/item
item android:drawable="@drawable/iv3" android:duration="200"/item
item android:drawable="@drawable/iv4" android:duration="200"/item/animation-list1234567891011121314151617181920
再者是信号增强即图片顺序播放的效果,在drawable下新建animation_list_reverse.xml样式文件。
?xml version="1.0" encoding="utf-8"?!--
根标签为animation-list;
其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画;
其中visible规定drawable的初始可见性,默认为flase;
其中variablePadding若为true则允许drawable的距离在当前选择状态下有所改变(If true, allows the drawable’s padding to change based on the current state that is selected.),默认为false;
根标签下,通过item标签对动画中的每一个图片进行声明;
android:duration 表示展示所用的该图片的时间长度,单位为毫秒;
--animation-list xmlns:android=""
android:oneshot="true"
android:visible="false"
android:variablePadding="false"
item android:drawable="@drawable/iv4" android:duration="200"/item
item android:drawable="@drawable/iv3" android:duration="200"/item
item android:drawable="@drawable/iv2" android:duration="200"/item
item android:drawable="@drawable/iv1" android:duration="200"/item/animation-list1234567891011121314151617181920
然后在layout文件夹下新建xml布局文件activity_animation_list.xml,引用上面写好的drawable文件夹下的xml样式文件。
?xml version="1.0" encoding="utf-8"?LinearLayout xmlns:android=""
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
ImageView android:id="@+id/iv_animation_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/animation_list_sequence" /
Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="sequence"
android:text="顺序显示" /
Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="stop"
android:text="停止动画" /
Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="reverse"
android:text="倒序显示" //LinearLayout12345678910111213141516171819202122232425262728293031
然后在src包下新建Activity的Java文件AnimationListActivity.java,用于演示操作。
package com.zcz.drawablexmltest;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.View;import android.view.Window;import android.widget.ImageView;public class AnimationListActivity extends Activity{
private ImageView mIv;
private AnimationDrawable mAd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_animation_list);
mIv = (ImageView) findViewById(R.id.iv_animation_list);
}
public void sequence(View view){
mIv.setImageResource(R.drawable.animation_list_sequence);
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.start();
} public void stop(View view){
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.stop();
} public void reverse(View view){
mIv.setImageResource(R.drawable.animation_list_reverse);
mAd = (AnimationDrawable) mIv.getDrawable();
mAd.start();
}
}
如何自定义Android Dialog的样式?
Android 中自定义Dialog的样式,主要是通过自定义的xml,然后加载到dialog的背景中,如下步骤:
1、自定义Dialog
final Dialog dialog = new Dialog(this, R.style.Theme_dialog);
2、窗口布局
View contentView = LayoutInflater.from(this).inflate(R.layout.select_list_dialog,null);
3、把设定好的窗口布局放到dialog中
dialog.setContentView(contentView);
4、设定点击窗口空白处取消会话
dialog.setCanceledOnTouchOutside(true);
5、具体的操作
ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);
6、展示窗口
dialog.show();
例:
final Dialog dialog = new Dialog(this,R.style.Theme_dialog);
View contentView =LayoutInflater.from(this).inflate(R.layout.select_list_dialog, null);
dialog.setContentView(contentView);
dialog.setCanceledOnTouchOutside(true);
ListView msgView = (ListView)contentView.findViewById(R.id.listview_flow_list);
TextView titleText = (TextView)contentView.findViewById(R.id.title);
titleText.setText("请选择银行卡");
SelectBankCardDialogAdapter adapter =new SelectBankCardDialogAdapter(this, mBankcardList);
msgView.setAdapter(adapter);
msgView.setOnItemClickListener(newOnItemClickListener() {
@Override
public void onItemClick(AdapterViewparent, View view, int position, long id) {
//Toast.makeText(RechargeFlowToMobileActivity.this,
// position+"",0).show();
mSelectCard =mBankcardList.get(position);
String area = mSelectCard.getBank_card();
mCardNumberText.setText(area);
dialog.dismiss();
}
});
Button closeBtn = (Button)contentView.findViewById(R.id.close);
closeBtn.setClickable(true);
closeBtn.setOnClickListener(newView.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
以上就是在Android开发自定义dialog样式的方法和步骤,android很多的控件都提供了接口或者方法进行样式的定义和修改。
如何修改Android App的样式风格
android中可以自定义主题和风格。风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等。可以在res/values目录下新建一个styles.xml的文件,在这个文件里面有resource根节点,在根节点里面添加item项,item项的名字就是属性的名字,item项的值就是属性的值,如下所示:
复制代码 代码如下:
?xml version="1.0" encoding="utf-8"?
resources
style name="MyText" parent="@android:style/TextAppearance"
item name="android:textColor"#987456/item
item name="android:textSize"24sp/item
/style
/resources
style中有一个父类属性parent, 这个属性是说明当前的这个style是继承自那个style的,当然这个style的属性值中都包含那个属性中的,你也可以修改继承到的属性的值,好了,style完成了,我们可以测试一下效果了,先写一个布局文件,比如说一个TextView什么的,可以用到这个style的。这里我就写一个EditText吧。下面是布局文件:
复制代码 代码如下:
?xml version="1.0" encoding="utf-8"?
LinearLayout
xmlns:android="http://schemas。android。com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
EditText
android:id="@+id/myEditText"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/MyText"
android:text="测试一下下"/
/LinearLayout
说完了style,下面就说说Theme,Theme跟style差不多,但是Theme是应用在Application或者Activity里面的,而Style是应用在某一个View里面的,还是有区别的,好了,废话不多说,还是看代码吧。下面的是style文件:
复制代码 代码如下:
?xml version="1.0" encoding="utf-8"?
resources
style name="MyText" parent="@android:style/TextAppearance"
item name="android:textColor"#987456/item
item name="android:textSize"24sp/item
/style
style parent="@android:style/Theme" name="CustomTheme"
item name="android:windowNoTitle"true/item
item name="android:windowFrame"@drawable/icon/item
item name="android:windowBackground"?android:windowFrame/item
/style
/resources
style中有一个父类属性parent, 这个属性是说明当前的这个style是继承自那个style的,当然这个style的属性值中都包含那个属性中的,你也可以修改继承到的属性的值,好了,style完成了,我们可以测试一下效果了,先写一个布局文件,比如说一个TextView什么的,可以用到这个style的。这里我就写一个EditText吧。下面是布局文件:
复制代码 代码如下:
?xml version="1.0" encoding="utf-8"?
LinearLayout
xmlns:android="http://schemas。android。com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
EditText
android:id="@+id/myEditText"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@style/MyText"
android:text="测试一下下"/
/LinearLayout
说完了style,下面就说说Theme,Theme跟style差不多,但是Theme是应用在Application或者Activity里面的,而Style是应用在某一个View里面的,还是有区别的,好了,废话不多说,还是看代码吧。下面的是style文件:
复制代码 代码如下:
?xml version="1.0" encoding="utf-8"?
resources
style name="MyText" parent="@android:style/TextAppearance"
item name="android:textColor"#987456/item
item name="android:textSize"24sp/item
/style
style parent="@android:style/Theme" name="CustomTheme"
item name="android:windowNoTitle"true/item
item name="android:windowFrame"@drawable/icon/item
item name="android:windowBackground"?android:windowFrame/item
/style
/resources
可以看到这里写了一个继承自系统默认的Theme的主题,里面有3个属性,这里强调一下第三个属性的值的问题,这里打个问号,然后加前面的一个item的名字表示引用的是那个名字的值,也就是那个名字对应的图片。
然后我们在Manifest.xml里面的Application里面加一个Theme的属性,这个属性对应的就是我们上面写的Theme。
复制代码 代码如下:
application android:icon="@drawable/icon" android:label="@string/app_name"
android:theme="@style/CustomTheme"
activity android:name=".TestStyle"
android:label="@string/app_name"
intent-filter
action android:name="android.intent.action.MAIN" /
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
/activity
上面的代码没有标题栏,背景和fram都是我们设置的图片。当然也可以在代码中设置主题:
复制代码 代码如下:
package com.test.shang;
import android.app.Activity;
import android.os.Bundle;
public class TestStyle extends Activity {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.CustomTheme);
setContentView(R.layout.test_style);
}
}
Android 中怎么设置全局自定义字体样式
使用stackoverflow软件进行修改。
操作
首先下载自定义字体,拷贝到工程中的assets文件夹下,建个新文件夹也可以。
创建一个继承自Application的类,放上TypeFace的变量。
将系统的serif的字体替换成微软雅黑。
最后自定义的主题。
Android系统自带样式Theme总结
本文从网上复制,给自己做笔记的,摘自:
Android系统自带样式(@android:style/) (转)
1 android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"
布局页面最上面 不会显示 android:icon="@drawable/ic_launcher"中的值和android:label="@string/app_name"的值。
2 android:theme="@style/AppTheme"
布局页面最上面 显示 android:icon="@drawable/ic_launcher"中的值和android:label="@string/app_name"的值。
其他
在AndroidManifest.xml文件的activity中配置
1、android:theme="@android:style/Theme"
默认状态,即如果theme这里不填任何属性的时候,默认为Theme
2、android:theme="@android:style/Theme.NoDisplay"
任何都不显示。比较适用于只是运行了activity,但未显示任何东西
3、android:theme="@android:style/Theme.NoTitleBar“
背景主题的没有标题栏的样式,默认如果没有设置的话,显示黑背景
4、android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
背景主题的没有标题栏且全屏的样式,默认为黑背景
5、android:theme="@android:style/Theme.Black"
默认状态下黑背景
6、android:theme="@android:style/Theme.Black.NoTitleBar"
黑背景主题的没有标题栏的样式
7、android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
黑背景主题的没有标题栏且全屏的样式
8、android:theme="@android:style/Theme.Light"
默认状态下亮背景,与上述黑背景Theme.Black相反
9、android:theme="@android:style/Theme.Light.NoTitleBar"
亮背景主题的没有标题栏的样式,与Theme.Black.NoTitleBar相反
10、android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"
亮背景主题的没有标题栏且全屏显示的样式,与Theme.Black.NoTitleBa.Fullscreenr相反
11、android:theme="@android:style/Theme.Dialog"
对话框样式 将整个activity变成对话框样式出现
12、android:theme="@android:style/Theme.InputMethod"
Window animations that are applied to input method overlay windows
13、android:theme="@android:style/ Theme.Panel"
删除掉所有多余的窗口装饰,在一个空的矩形框中填充内容,作用范围相当于把dialog中的所有元素全部去掉,只是一个空的矩形框,且此为默认的样式
14、android:theme="@android:style/ Theme.Light.Panel"
删除掉所有多余的窗口装饰,在一个空的矩形框中填充内容,作用范围相当于把dialog中的所有元素全部去掉,只是一个空的矩形框,且默认是light的样式
15、android:theme="@android:style/Theme.Wallpaper"
使用墙纸做主题,默认状态。
16、android:theme="@android:style/ Theme.WallpaperSettings"
使用墙纸做主题,默认是使用将上一个界面调暗之后作为主题
17、android:theme="@android:style/ Theme.Light.WallpaperSettings"
使用墙纸做主题,默认Light状态
18、android:theme="@android:style/Theme.Wallpaper.NoTitleBar"
使用墙纸做主题,且没有标题栏
19、android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen"
使用墙纸做主题,且没有标题栏,且全屏显示
20、android:theme="@android:style/Theme.Translucent"
半透明状态下的背景,将运行此activity之前的屏幕作为半透明状态作为此activity运行时的样式。
21、android:theme="@android:style/Theme.Translucent.NoTitleBar"
半透明状态下没有标题栏的背景,将运行此activity之前的屏幕作为半透明状态作为此activity运行时的样式。
22、android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
半透明状态下没有标题栏且全屏的背景,将运行此activity之前的屏幕作为半透明状态作为此activity运行时的样式。
摘自:
网页名称:android样式,android样式文件怎么创建
转载注明:http://myzitong.com/article/dscdhjh.html