android 自学

android: padding="10dp"  就是离所有边框有10个距离

 

android: background 背景

 

图片资源需要存在drawable-xhdpi文件夹,而这个文件夹是要自己新建的

 

 

android-orientation:  vertical和horizontal 表明是垂直排列还是水平排列

 

match-parent就是和屏幕一样大,wrap-content就是字有多大,就多大,下面会有一个横线

linerlayout是线性布局,就是从上往下

relativelayout就是相对布局 需要加layoutbelow: @xx_id/tv_1

还有一种布局就是ScrollView,这种布局就是能够上下或者左右滑动的布局,取决于android:orientation是哪种?

布局可以嵌套,比如

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="110dp"
        android:orientation="horizontal">
        <ImageView
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/head" />
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="20dp"
            android:orientation="vertical">

如果想要显示文字 那么就用TextView:

<TextView
                android:id="@+id/finish_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="头衔"
                android:textSize="16sp"/>

想显示图片,请参考

<ImageView
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginTop="10dp"
            android:src="@drawable/head" />

如果想定义按钮,参考

<Button
        android:id="@+id/btn_login"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="登录"
        android:gravity="center"
        android:background="@drawable/btn_left"
        />

如果想定义输入框:

<EditText
        android:id="@+id/et_2"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="密码"
        android:maxLines="1"
        android:padding="5dp"
        android:textColor="@color/black"
        android:textSize="16sp"
        android:inputType="textPassword"
        tools:layout_editor_absoluteX="10dp"
        tools:layout_editor_absoluteY="210dp"
        ></EditText>

针对上面的Button和EditText,需要在Activity里面先通过findViewById找到对应的View,而且button需要覆写onClick方法:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button mBtnLogin;

    private EditText mEtUser;

    private EditText mEtPassword;

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

        //找到控件
        mBtnLogin = findViewById(R.id.btn_login);

        mEtUser = findViewById(R.id.et_1);

        mEtPassword = findViewById(R.id.et_2);
        mBtnLogin.setOnClickListener(this);
    }

    public void onClick(View view) {

        String ok = "登陆成功";
        String fail = "账号或者密码错误";
        Intent intent = null;
        Toast.makeText(getApplicationContext(), ok, Toast.LENGTH_SHORT).show();
        ToastUtil.showMsg(MainActivity.this, ok);
        intent = new Intent(MainActivity.this, SlideActivity.class);
        startActivity(intent);
    }
}

如果一个界面有多个button,可以参考下面的写法:

public class SlideActivity extends AppCompatActivity {

    private ImageView mIvHead;
    private SlideMenu slideMenu;

    private Button buttonStudy;
    private Button buttonPlay;
    private Button buttonExercise;
    private Button buttonRead;

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


        mIvHead = findViewById(R.id.iv_head);
        slideMenu = findViewById(R.id.slideMenu);
        buttonStudy = findViewById(R.id.btn_1);
        buttonPlay = findViewById(R.id.btn_2);
        buttonExercise = findViewById(R.id.btn_3);
        buttonRead = findViewById(R.id.btn_4);

        mIvHead.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                slideMenu.switchMenu();
            }
        });
        setListener();
    }

    private void setListener() {
        Onclick onclick = new Onclick();
        buttonStudy.setOnClickListener(onclick);
        buttonPlay.setOnClickListener(onclick);
        buttonExercise.setOnClickListener(onclick);
        buttonRead.setOnClickListener(onclick);
    }

    private class Onclick implements  View.OnClickListener {

        @Override
        public void onClick(View v) {
            Intent intent = null;
            switch (v.getId()) {
                case R.id.btn_1:
                    intent = new Intent(SlideActivity.this, StudyActivity.class);
                    break;
                case R.id.btn_2:
                    intent = new Intent(SlideActivity.this, PlayActivity.class);
                    break;
                case R.id.btn_3:
                    intent = new Intent(SlideActivity.this, ExerciseActivity.class);
                    break;
                case R.id.btn_4:
                    intent = new Intent(SlideActivity.this, ReadActivity.class);
                    break;
            }
            startActivity(intent);
        }
    }
}

如果想添加单选框:

 <RadioGroup
            android:id="@+id/rg_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_gravity="center"
            android:layout_marginTop="20dp">
            <RadioButton
                android:id="@+id/rb_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="健身"
                android:textColor="@color/black"
                android:gravity="center"
                android:textSize="20sp"
                android:checked="true"/>

            <RadioButton
                android:id="@+id/rb_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="跑步"
                android:textColor="@color/black"
                android:gravity="center"
                android:textSize="20sp"/>

            <RadioButton
                android:id="@+id/rb_3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="跳舞"
                android:textColor="@color/black"
                android:gravity="center"
                android:textSize="20sp"/>

        </RadioGroup>

如果想定义复选框:

<LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_gravity="center_horizontal">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:text="你今天中午吃什么"
                android:textColor="@color/black"
                android:layout_marginTop="20dp"
                android:textSize="20sp" />
            <CheckBox
                android:id="@+id/cb_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="火锅"
                android:layout_marginTop="10dp"
                android:textColor="@color/black"
                android:textSize="20sp"/>

            <CheckBox
                android:id="@+id/cb_2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="串串"
                android:layout_marginTop="10dp"
                android:textColor="@color/black"
                android:textSize="20sp"/>

            <CheckBox
                android:id="@+id/cb_3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="砂锅"
                android:layout_marginTop="10dp"
                android:textColor="@color/black"
                android:textSize="20sp"/>


            </LinearLayout>

不过单选框和复选框也是要先调用findViewById的, 而且复选框需要覆写onCheckedChanged方法:

public class StudyActivity extends AppCompatActivity {

    private RadioGroup mRG1;

    private CheckBox mCB1;

    private CheckBox mCB2;

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

        mRG1 = findViewById(R.id.rg_1);
        mCB1 = findViewById(R.id.cb_1);
        mCB2 = findViewById(R.id.cb_2);

        mRG1.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                RadioButton radioButton = radioGroup.findViewById(i);
                Toast.makeText(StudyActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show();
            }
        });

        mCB1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                Toast.makeText(StudyActivity.this, b?"选中":"未选中", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

 

Toast用来在用户点击的时候,弹出一些提示信息

Toast.makeText(StudyActivity.this, radioButton.getText(), Toast.LENGTH_SHORT).show()

比如用户在选择跑步的时候,下方弹出一个跑步的提示框,停留1秒左右消失

 

ScrollView,是可以滑动的view,以防一个屏幕装不下,里面只能放置一个控件,

textColor可以在values包的colors.xml写,text的值可以再包里的string.xml里面写

 

android:gravity="center" 居中

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值