Android 控件属性

TextView 文字属性
//文字左右居中
android:layout_centerHorizontal="true"
//文字垂直居中
android:layout_centerVertical="true"
//文字大小
android:textSize="80px"
//背景颜色
android:background="#00FF00"

//获取页面对象的值用findViewById 来获取

例子:获取TextView的值

TextView textView = (TextView)findViewById(R.id.空间ID);

----------------------------------------------------

2、View是所以控件的父类。

文本、按钮、多选、单选、布局、等等都集成View。

----------------------------------------------------

3、监听器的使用基本流程。

  ①获取代表控件的对象

  ②定义一个类,实现监听器接口

  ③生成监听器对象

  ④为控件绑定监听器对象

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);

           textview = (TextView)findViewById(R.id.txtView);
           textview.setText("第一个TextView");
           textview.setBackgroundColor(Color.GREEN);
           //拿到Button控件
           btn = (Button)findViewById(R.id.btn);
           ButtonListener btns = new ButtonListener();
           btn.setOnClickListener(btns);

    }

    //监听器类
    class ButtonListener implements OnClickListener
    {
        @Override
        public void onClick(View view) {
            count_S++;
            textview.setText(count_S+"");
        }
    }

-----------------------------------------------------

4、布局方法分类(-)

   1、linerLayout 线性布局   

   2、RelativeLayout 相对布局   用的比较多

   3、ListView布局

   4、GridView布局

-------------------------------------------

5、距离单位

  1、距离单位px

  2、距离单位dp

  3、距离单位sp

  4、控件的外边距和内边距

  (1)什么是dpi (dots per inch)dpi是屏幕的细腻程度。

  计算公式:

     dpi = (height² + width²)开根号  ,除以 size

  dp = dip(Device Independent pixels)

  换算公式 px = dp *(dpi /160)

  在dpi为160的屏幕上:1dp =1px

    (2)sp 通常用于指定字体大小

     ① sp: scaled pixels

     ② sp单位通常用于指定字体大小

     ③ 当用户修改手机字体是,sp会随之改变

  (3) 字体用sp,控件大小用dp。

 -----------------------------------------------------------------------------

6、内边距和外边距

  (1)设置内边距和外边距

7、CheckBox 全选和全不选

  

private CheckBox eatBox;
    private CheckBox sleepBox;
    private CheckBox dotaBox;
    private CheckBox AllCheck;
    private CheckBox CkLOL;

    private TextView textview;
    private Button btn;
    int count_S = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.checkbox);

        eatBox = (CheckBox) findViewById(R.id.eatId);
        sleepBox = (CheckBox) findViewById(R.id.sleepId);
        dotaBox = (CheckBox) findViewById(R.id.dotaId);
        AllCheck = (CheckBox)findViewById(R.id.AllCheckId);
        CkLOL = (CheckBox)findViewById(R.id.LOL);

        AllCheckListener al = new AllCheckListener();
        AllCheck.setOnCheckedChangeListener(al);

    }

    class AllCheckListener implements CompoundButton.OnCheckedChangeListener
    {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
      //方法一:
if (isChecked) { eatBox.setChecked(true); sleepBox.setChecked(true); dotaBox.setChecked(true); CkLOL.setChecked(true); System.out.println("All Check"); }else{ eatBox.setChecked(false); sleepBox.setChecked(false); dotaBox.setChecked(false); CkLOL.setChecked(false); System.out.println("unCheck"); }

      ----------
      方法二:
        eatBox.setChecked(isChecked);
        sleepBox.setChecked(isChecked);
        dotaBox.setChecked(isChecked);
        CkLOL.setChecked(isChecked);
        }

 8、单选按钮Radio

  private RadioGroup radioGroup;
    private RadioButton nan;
    private RadioButton nv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.radiobox);

        radioGroup = (RadioGroup) findViewById(R.id.radioGroupId);
        nan = (RadioButton)findViewById(R.id.nanID);
        nan.setChecked(true);   //默认是第一个被选中

        nv = (RadioButton)findViewById(R.id.nvId);

        RadioGroupListener listener = new RadioGroupListener();
        radioGroup.setOnCheckedChangeListener(listener);


    }

    class RadioGroupListener implements RadioGroup.OnCheckedChangeListener
    {
        //id被选中单选单选按钮ID
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int id)
        {
            //radioGroup 有多个组情况要先判断是哪个Group
            if (radioGroup.getId() == R.id.radioGroupId)
            {
                if (id == nan.getId())
                {
                    System.out.println("选中男");
                }else if (id==nv.getId())
                {
                    System.out.println("选中nv");
                }
            }else{
                System.out.println("没有选中按钮");
            }
        }
    }

9、图片控件 ImageView

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="206dp"
        android:id="@+id/imageView"
        android:layout_gravity="center_vertical"
        android:src="@mipmap/a12" />   // 图片路径

ScaleType 拉伸类型

10、android:layout_weight="1"

是平分剩余的空间,而不是把父容器平分

 

如果想让第一个控件占屏幕的1/3,第二个控件占2/3

  <TextView
        android:id="@+id/firstID"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="#00FF00"
        android:layout_weight="1"
        android:text="first101010"/>

    <TextView
        android:id="@+id/secondID"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="2"
        android:background="#002200"
        android:text="second"/>

height 也是可以这样用。

11、相对布局

<TextView
android:id="@+id/firstView" //@+id 是创建ID
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF0000"
android:text="Hello World!"
/>
<TextView

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/firstView" //@id 是引用ID 是存在的ID
android:background="#00FF00"
android:text="World Hello!"/>
原文地址:https://www.cnblogs.com/youmingkuang/p/5463787.html