精华内容
下载资源
问答
  • 自定义style

    2012-04-19 16:25:55
    时,是显示不出我们自定义的效果的。 在values目录下,新建attrs.xml。在其中定义: <resources>  <style name="ButtonBlue" >  <item name="android:background">@drawable/btn_blue</item>  </...

    在Android的编程中,定义的一个按钮的点中,获得焦点等一些状态时,各个状态使用不同的图片,如下在drawable目录下定义了一个Button的各种状态时的样式,btn_blue.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_window_focused="false" android:state_enabled="true"
            android:drawable="@drawable/btn_blue_normal">
        </item>
        <item android:state_window_focused="false" android:state_enabled="false"
            android:drawable="@drawable/btn_blue_normal_disable">
        </item>
        <item android:state_focused="true" android:state_enabled="true"
            android:drawable="@drawable/btn_blue_selected">
        </item>
        <item android:state_pressed="true" android:drawable="@drawable/btn_blue_pressed">
        </item>
        <item android:state_enabled="true" android:drawable="@drawable/btn_blue_normal">
        </item>
        <item android:state_focused="true"
            android:drawable="@drawable/btn_blue_normal_disable_focused">
        </item>
        <item android:drawable="@drawable/btn_blue_normal_disable">
        </item>
    </selector>

    这里用到了一些按钮状态图片,然后在main.xml文件中定义一个Button,

    <Button android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        style="@style/ButtonBlue"
        android:text="按钮"/>

    这里用到了style属性。如果这样写style="@drawable/btn_blue"时,是显示不出我们自定义的效果的。

    在values目录下,新建attrs.xml。在其中定义:

    <resources>

        <style name="ButtonBlue" >
            <item name="android:background">@drawable/btn_blue</item>
        </style>

    注意item name="android:background"这里我各个状态主要是改变其背景色,所以这里我写的name="android:background"。在item标签中加载drawable目录下的btn_blue.xml文件。这里<style name="ButtonBlue" >
    这里的name是自己写名字,然后在main.xml文件中style属性如下:style="@style/ButtonBlue"


    展开全文
  • Android自定义Style实现方法,需要的朋友可以参考一下
  • QML自定义style

    2014-06-24 08:58:12
    QML对TablveView做的自定义style,需要的朋友可以下载参考,对初次做的朋友肯定会有帮助。
  • 目录一、自定义Style的概念二、目标明确三、使用步骤1.创建自定义Style文件2.Activity布局中使用自定义Style四、总结 一、自定义Style的概念 Style样式可以为组件或者窗口指定统一的外观和格式(宽高尺寸、字体颜色...

    一、自定义Style的概念

    Style样式可以为组件或者窗口指定统一的外观和格式(宽高尺寸、字体颜色、字号、背景颜色等属性),并把这些样式抽离成一个单独的XML资源文件,方便复用。

    二、目标明确

    本次我们通过自定义Style实现登录按钮样式的抽离封装:
    在这里插入图片描述
    未使用自定义Style抽离封装之前的代码:
    在这里插入图片描述

    三、使用步骤

    1.创建自定义Style文件

    res/values/目录下,创建一个MyButton.xml文件:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
        <style name="MyButton">
            <item name="android:layout_width">150dp</item>
            <item name="android:layout_height">100dp</item>
            <item name="android:layout_gravity">center</item>
            <item name="android:text">@string/login_btn</item>
            <item name="android:textColor">@color/colorPrimary</item>
            <item name="android:textSize">30sp</item>
        </style>
    
    </resources>
    

    2.Activity布局中使用自定义Style

    <Button
         style="@style/MyButton"
         />
    

    效果如下:
    在这里插入图片描述

    四、总结

    自定义Style可以很好地帮助我们在Android的开发过程中,对组件样式的抽离封装,防止应用组件出现样式不匹配的问题

    展开全文
  • android自定义style style是一个包含一种或者多种格式化属性的集合,我们可以将其作为一个属性用在XML布局文件的某个元素当中,比如,我们可以定义一种风格来定义文本的字号大小和颜色,然后将其用于TextView的...

    android自定义style

    style是一个包含一种或者多种格式化属性的集合,我们可以将其作为一个属性用在XML布局文件的某个元素当中,比如,我们可以定义一种风格来定义文本的字号大小和颜色,然后将其用于TextView的实例中。

    1.在res/values目录下新建style.xml文件,其中写入我们自定义的style

    [html] view plaincopy
    1. <style name="myTextView" parent="android:Widget.TextView">  
    2. <item name="android:textSize">15sp</item>  
    3. <item name="android:textColor">#FFFFFF</item>  
    4. <item name="android:layout_width">wrap_content</item>  
    5. <item name="android:layout_height">wrap_content</item>  
    6. </style>  

    2.在xml布局文件中的某个TextView中运用

    [java] view plaincopy
    1. <TextView  
    2.     android:text="你好!"  
    3.     style="@style/myTextView"  
    4. />  
    style部分就是对style文件的引用,这样就将自定义的style应用在了xml布局文件中了。

    android自定义控件 自定义属性

    自定义控件在android中无处不见,自定义控件给了我们很大的方便。比如说,一个视图为imageview ,imagebutton ,textview 等诸多控件的组合,用的地方有很多,我们不可能每次都来写3个的组合,既浪费时间,效率又低。在这种情况下,我们就可以自定义一个view来替换他们,不仅提升了效率并且在xml中运用也是相当的美观。 
    一、控件自定义属性介绍 
    以下示例中代码均在values/attrs.xml 中定义,属性均可随意命名。 
    1. reference:参考某一资源ID。 
    示例: 
    [java] 

    复制代码代码如下:

    <declare-styleable name = "名称"> 
    <attr name = "background" format = "reference" /> 
    <attr name = "src" format = "reference" /> 
    </declare-styleable> 

    2. color:颜色值。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name = "名称"> 
    <attr name = "textColor" format = "color" /> 
    </declare-styleable> 

    3. boolean:布尔值。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name = "名称"> 
    <attr name = "focusable" format = "boolean" /> 
    </declare-styleable> 

    4. dimension:尺寸值。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name = "名称"> 
    <attr name = "layout_width" format = "dimension" /> 
    </declare-styleable> 

    5. float:浮点值。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name = "名称"> 
    <attr name = "fromAlpha" format = "float" /> 
    <attr name = "toAlpha" format = "float" /> 
    </declare-styleable> 

    6. integer:整型值。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name = "名称"> 
    <attr name = "frameDuration" format="integer" /> 
    <attr name = "framesCount" format="integer" /> 
    </declare-styleable> 

    7. string:字符串。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name = "名称"> 
    <attr name = "text" format = "string" /> 
    </declare-styleable> 

    8. fraction:百分数。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name="名称"> 
    <attr name = "pivotX" format = "fraction" /> 
    <attr name = "pivotY" format = "fraction" /> 
    </declare-styleable> 

    9. enum:枚举值。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name="名称"> 
    <attr name="orientation"> 
    <enum name="horizontal" value="0" /> 
    <enum name="vertical" value="1" /> 
    </attr> 
    </declare-styleable> 

    10. flag:位或运算。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name="名称"> 
    <attr name="windowSoftInputMode"> 
    <flag name = "stateUnspecified" value = "0" /> 
    <flag name = "stateUnchanged" value = "1" /> 
    <flag name = "stateHidden" value = "2" /> 
    <flag name = "stateAlwaysHidden" value = "3" /> 
    </attr> 
    </declare-styleable> 

    11.多类型。 
    示例: 
    [java] 
    复制代码代码如下:

    <declare-styleable name = "名称"> 
    <attr name = "background" format = "reference|color" /> 
    </declare-styleable> 

    ------------------------------------------------------------------------------------------- 
    二、属性的使用以及自定义控件的实现 
    1、构思控件的组成元素,思考所需自定义的属性。 
    比如:我要做一个 <带阴影的按钮,按钮正下方有文字说明>(类似9宫格按钮) 
    新建values/attrs.xml 
    [java] 
    复制代码代码如下:

    <?xml version="1.0" encoding="utf-8"?> 
    <resources> 
    <declare-styleable name="custom_view"> 
    <attr name="custom_id" format="integer" /> 
    <attr name="src" format="reference" /> 
    <attr name="background" format="reference" /> 
    <attr name="text" format="string" /> 
    <attr name="textColor" format="color" /> 
    <attr name="textSize" format="dimension" /> 
    </declare-styleable> 
    </resources> 

    以上,所定义为custom_view,custom_id为按钮id,src为按钮,background为阴影背景,text为按钮说明,textColor为字体颜色,textSize为字体大小。 
    2、怎么自定义控件呢,怎么使用这些属性呢?话不多说请看代码,CustomView : 
    复制代码代码如下:

    package com.nanlus.custom; 
    import com.nanlus.custom.R; 
    import android.content.Context; 
    import android.content.res.TypedArray; 
    import android.graphics.Color; 
    import android.graphics.drawable.Drawable; 
    import android.util.AttributeSet; 
    import android.view.Gravity; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.FrameLayout; 
    import android.widget.ImageButton; 
    import android.widget.ImageView; 
    import android.widget.TextView; 
    public class CustomView extends FrameLayout implements OnClickListener { 
    private CustomListener customListener = null; 
    private Drawable mSrc = null, mBackground = null; 
    private String mText = ""; 
    private int mTextColor = 0; 
    private float mTextSize = 20; 
    private int mCustomId = 0; 
    private ImageView mBackgroundView = null; 
    private ImageButton mButtonView = null; 
    private TextView mTextView = null; 
    private LayoutParams mParams = null; 
    public CustomView(Context context) { 
    super(context); 

    public CustomView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    TypedArray a = context.obtainStyledAttributes(attrs, 
    R.styleable.custom_view); 
    mSrc = a.getDrawable(R.styleable.custom_view_src); 
    mBackground = a.getDrawable(R.styleable.custom_view_background); 
    mText = a.getString(R.styleable.custom_view_text); 
    mTextColor = a.getColor(R.styleable.custom_view_textColor, 
    Color.WHITE); 
    mTextSize = a.getDimension(R.styleable.custom_view_textSize, 20); 
    mCustomId = a.getInt(R.styleable.custom_view_custom_id, 0); 
    mTextView = new TextView(context); 
    mTextView.setTextSize(mTextSize); 
    mTextView.setTextColor(mTextColor); 
    mTextView.setText(mText); 
    mTextView.setGravity(Gravity.CENTER); 
    mTextView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
    LayoutParams.WRAP_CONTENT)); 
    mButtonView = new ImageButton(context); 
    mButtonView.setImageDrawable(mSrc); 
    mButtonView.setBackgroundDrawable(null); 
    mButtonView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
    LayoutParams.WRAP_CONTENT)); 
    mButtonView.setOnClickListener(this); 
    mBackgroundView = new ImageView(context); 
    mBackgroundView.setImageDrawable(mBackground); 
    mBackgroundView.setLayoutParams(new LayoutParams( 
    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    addView(mBackgroundView); 
    addView(mButtonView); 
    addView(mTextView); 
    this.setOnClickListener(this); 
    a.recycle(); 

    @Override 
    protected void onAttachedToWindow() { 
    super.onAttachedToWindow(); 
    mParams = (LayoutParams) mButtonView.getLayoutParams(); 
    if (mParams != null) { 
    mParams.gravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP; 
    mButtonView.setLayoutParams(mParams); 

    mParams = (LayoutParams) mBackgroundView.getLayoutParams(); 
    if (mParams != null) { 
    mParams.gravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP; 
    mBackgroundView.setLayoutParams(mParams); 

    mParams = (LayoutParams) mTextView.getLayoutParams(); 
    if (mParams != null) { 
    mParams.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM; 
    mTextView.setLayoutParams(mParams); 


    public void setCustomListener(CustomListener l) { 
    customListener = l; 

    @Override 
    public void onClick(View v) { 
    if (customListener != null) { 
    customListener.onCuscomClick(v, mCustomId); 


    public interface CustomListener { 
    void onCuscomClick(View v, int custom_id); 



    代码很简单,就不多说,下面来看看我们的CustomView是怎么用的,请看: 
    3、自定义控件的使用 
    话不多说,请看代码,main.xml: 
    [java] 
    复制代码代码如下:

    <?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:nanlus="http://schemas.android.com/apk/res/com.nanlus.custom" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
    <LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:orientation="horizontal" > 
    <com.nanlus.custom.CustomView 
    android:id="@+id/custom1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    nanlus:background="@drawable/background" 
    nanlus:custom_id="1" 
    nanlus:src="@drawable/style_button" 
    nanlus:text="按钮1" > 
    </com.nanlus.custom.CustomView> 
    </LinearLayout> 
    </RelativeLayout> 

    在这里需要解释一下, 
    xmlns:nanlus="http://schemas.android.com/apk/res/com.nanlus.custom" 
    nanlus为在xml中的前缀,com.nanlus.custom为包名 
    4、在Activity中,直接上代码 
    [java] 
    复制代码代码如下:

    package com.nanlus.custom; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.ImageButton; 
    import android.widget.ImageView; 
    import android.widget.TextView; 
    import android.widget.Toast; 
    import com.nanlus.BaseActivity; 
    import com.nanlus.custom.R; 
    import com.nanlus.custom.CustomView.CustomListener; 
    public class CustomActivity extends BaseActivity implements CustomListener { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    ((CustomView) this.findViewById(R.id.custom1)).setCustomListener(this); 

    @Override 
    public void onCuscomClick(View v, int custom_id) { 
    switch (custom_id) { 
    case 1: 
    Toast.makeText(this, "hello !!!", Toast.LENGTH_LONG).show(); 
    break; 
    default: 
    break; 



    展开全文
  • android如何自定义style

    2016-05-02 17:23:29
    1、在resource里自定义style 2、在控件属性中使用自定义style代码: 1、<resources xmlns:android="http://schemas.android.com/apk/res/android"> //style可以通过指定parent属性继承 <style name=...

    1、在resource里自定义style
    2、在控件属性中使用自定义style

    代码:
    1、

    <resources xmlns:android="http://schemas.android.com/apk/res/android">  
    //style可以通过指定parent属性继承
     <style name="AppBaseTheme" parent="android:Theme.Light">  
     </style>  
     <style name="AppTheme" parent="AppBaseTheme">  
     </style>  
    
    //定义style名
    <style name="testStyle">
    //定义style的属性
            <item name="android:textSize">30px</item>   
            <item name="android:textColor">#1110CC</item>  
            <item name="android:width">150dip</item>  
            <item name="android:height">150dip</item>  
    </style>  
    
    </resources>  

    使用示例:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        xmlns:tools="http://schemas.android.com/tools"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent"  
        tools:context=".MainActivity" >  
    
        <TextView  
            <!-- 使用自定义style -->
            style="@style/testStyle"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content"  
            android:gravity="center"  
            android:layout_centerHorizontal="true"  
            android:layout_centerVertical="true"  
            android:text="@string/hello_world" />  
    
    </RelativeLayout> 
    展开全文
  • 一、为什么要自定义style 这是样式与控件本身脱离的一种方式。style就像html中的css,只负责自定义样式。View控件在layout中就只负责声明自己就可以了。 就像这样: 首先在style.xml中自定义一个style <...
  • 自定义style的progressBar...

    千次阅读 2017-03-30 09:59:33
    好久没弄过自定义style的progressBar了1.xml内创建progressBar默认为圆环的progressBar,添加stylestyle="@android:style/Widget.ProgressBar.Horizontal"点进去<style name="Widget.ProgressBar.Horizontal
  • android自定义style主题样式 博客分类:  ANDROID / IOS   像HTML/CSS中的style一样,android也可以使用自定义的style样式 一般是在value 文件夹下面建一个styles.xml文件 样式是用于描述一个...
  • android自定义style

    2015-12-30 17:59:12
    style是一个包含一种或者多种格式化属性的集合,我们可以将其作为一个属性用在XML布局文件...1.在res/values目录下新建style.xml文件,其中写入我们自定义style [html] view plaincopy st
  • [转载]:Endnote 自定义style文件的默认位置 一般而言,安裝完EndNote 後,預設Output Styles、Filters、Connection Files 的電腦存放路徑如下– C:\Program Files\EndNote X4 \S...
  • Android自定义Style

    千次阅读 2018-09-10 18:25:22
    最近接触了一款APP,从Android5.1.1升级到Android8.1,整个APP使用的主题为”@android:style/Theme.DeviceDefault.Light”。测试在Bugzilla上提了好几个关于UI方面的Bug。研发一看就知道这些不是Bug,但是测试他们...
  • 1、首先是官网的两个例子: https://lorensen.github.io/VTKExamples/site/Cxx/Qt/ShareCameraQt/ ... 2、下面这个是github上的一个render,actor,自定义style的例子:...
  • 文章目录swiper6.0改造 “翻页按钮”:自定义style样式和position(含效果图、代码、使用手册)需求场景 · 描述如下:效果图 · gif 动画:注意事项:需要设置代码的几处位置:全部代码 · 示下: swiper6.0改造 ...
  • 比如水波纹效果,,刚开始的想法是在代码里通过版本判断,设置不同的background,最后发现想麻烦了,也不好实现,最后通过自定义Style完成修改: 在v-19包下的style什么也不设置,在v-21包下的style设置android5.0的...
  • Android 自定义style

    2016-11-25 15:48:50
    frameworks/base/core/res/res/values/thems_zuk.xm ?attr/colorBackgroundFloating @null @style/DialogWindowTitle.Zuk @style/DialogWindowTitleBackground.Zuk ...... ...... ..
  • WPF Menu控件自定义Style

    2019-10-06 16:33:39
    自定义WPF中Menu控件的样式 转载于:https://www.cnblogs.com/GeneralKING/p/3143665.html
  • Dialog自定义Style

    千次阅读 2011-12-04 00:05:51
    要将dialog的 title,白色边框等,去掉的话,可以使用style。  在style文件中加入 dialog样式   ... 将自定义的样式加入到dialog中。 Dialog dialog = new Dialog(SetActivity.this, R.s
  • 在一些xml布局中,我们有的时候会使用大量相同的布局属性,这时我们可以将其抽象出来,放入到style.xml文件中,统一使用,这样就可以减少代码的重复量。 style 定义的UI格式和外观,它可以单独被一个 View 使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,616
精华内容 3,846
关键字:

自定义style