0
点赞
收藏
分享

微信扫一扫

Android学习笔记

Resin_Wu 2022-05-04 阅读 57

文章目录


目录

文章目录

三、TextView

1.在activity_main.xml写入代码

2.另其点击后跳转,在MainActivity.java中写入

3.添加Activity

4.样式实现

四、Button


三、TextView

1.在activity_main.xml写入代码

 <Button
        android:id="@+id/btn_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView" />

2.另其点击后跳转,在MainActivity.java中写入

package com.zhao.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
//以上自动写的


public class MainActivity extends AppCompatActivity {

    private Button mBtnTextView;//声明

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

        mBtnTextView = findViewById(R.id.btn_textview);//找到;可以类型转换为BUtton

        //添加Button的点击事件
        mBtnTextView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //跳转到TextView演示界面
                Intent intent = new Intent(MainActivity.this,TextViewActivity.class);
                startActivity(intent);
            }
        });
    }
}

3.添加Activity

注意不要直接把TextView作为名字

创建后打开ActivityManifest.xml看是否添加代码,一般会自动添加

 <activity
            android:name=".TextViewActivity"
            android:exported="false" />

4.样式实现

(1)

添加代码:

<string name="tv_test1">晴晴在奔跑</string>

 在activity_text_view.xml:

<TextView
        android:id="@+id/tv_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
            android:text="@string/tv_test1"
        android:textSize="24sp"
        android:textColor="#000000"/>

也可直接在text属性写入文字

 (2)

设置固定的宽度;最大行数;ellipsize属性

<TextView
        android:id="@+id/tv_2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"        
        android:text="晴晴在奔跑"
        android:textSize="24sp"
        android:textColor="#000000"
        android:layout_marginTop="10dp"
            android:maxLines="1"
            android:ellipsize="end"/>

 (3)

文字+icon 实现:下载图标后,添加至

 注意图标大小和命名

    <TextView
        android:id="@+id/tv_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="筛选"
        android:textSize="24sp"
        android:textColor="#000000"
        android:layout_marginTop="10dp"
            android:drawableRight="@drawable/icon_arrow_off"
            android:drawablePadding="5dp"/>

(4)中划线:tv_4 通过Java代码实现

         下划线(2种方式):tv_5  tv_6二者也通过Java代码实现,注意HTML实现时,android:text=“”

<TextView
        android:id="@+id/tv_4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="晴晴在奔跑"
        android:textSize="24sp"
        android:textColor="#000000"
        android:layout_marginTop="10dp"/>

    <TextView
        android:id="@+id/tv_5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="晴晴在奔跑"
        android:textSize="24sp"
        android:textColor="#000000"
        android:layout_marginTop="10dp"/>

    <TextView
        android:id="@+id/tv_6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:textSize="24sp"
        android:textColor="#000000"
        android:layout_marginTop="10dp"/>
package com.zhao.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Paint;
import android.os.Bundle;
import android.text.Html;
import android.widget.TextView;
//以上自动生成

public class TextViewActivity extends AppCompatActivity {

    private TextView mTV4;
    private TextView mTV5;
    private TextView mTV6;

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

        mTV4 = findViewById(R.id.tv_4);
        mTV4.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//设置中划线
        mTV4.getPaint().setAntiAlias(true);//去除锯齿

        mTV5 = findViewById(R.id.tv_5);
        mTV5.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//下划线

        mTV6 = findViewById(R.id.tv_6);
        mTV6.setText(Html.fromHtml("<u>晴晴在奔跑<u/>"));//HTML代码实现文本加下划线
    }
}

(5)

 跑马灯:文字多一点,单行,滚动方式,永远滚动,获得焦点

    <TextView
        android:id="@+id/tv_7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="晴晴在奔跑晴晴在奔跑晴晴在奔跑晴晴在奔跑"
        android:textSize="24sp"
        android:textColor="#000000"
        android:layout_marginTop="10dp"
            android:singleLine="true"
            android:ellipsize="marquee"
            android:marqueeRepeatLimit="marquee_forever"
            android:focusable="true"
            android:focusableInTouchMode="true"/>

四、Button

1.在activity_main.xml再写一个Button

<Button
        android:id="@+id/btn_Button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button"
        android:layout_marginTop="10dp" />

2.另其点击后跳转

package com.zhao.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    private Button mBtnButton;//声明

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

        mBtnButton = findViewById(R.id.btn_Button);//找到
        mBtnButton.setOnClickListener(new View.OnClickListener() {//点击事件
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this,ButtonActivity.class);//跳转
                startActivity(intent);
            }
        });
    }
}

3、添加activity

4、样式

分别为:4个Button:普通;圆角;边框;点击后改变  

               1个TextView

activity.button.xml中代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">

      <Button
        android:id="@+id/btn_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮1"
        android:textSize="20sp"
        android:textColor="#FFFFFF"
        android:background="#FF99AD"/>

    <Button
        android:id="@+id/btn_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮2"
        android:textSize="20sp"
        android:textColor="#FFFFFF"
            android:background="@drawable/bg_btn2"
        android:layout_below="@+id/btn_1"
        android:layout_marginTop="10dp"/>

    <Button
        android:id="@+id/btn_3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮3"
        android:textSize="20sp"
        android:textColor="#000000"
        android:layout_below="@id/btn_2"
        android:layout_marginTop="10dp"
            android:background="@drawable/bg_btn3"/>

    <Button
        android:id="@+id/btn_4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="按钮4"
        android:textSize="20sp"
        android:textColor="#000000"
        android:layout_below="@id/btn_3"
        android:layout_marginTop="10dp"
            android:background="@drawable/bg_btn4"
            android:onClick="showToast"/>

    <TextView
        android:id="@+id/tv_1"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="文字1"
        android:textSize="20sp"
        android:textColor="#000000"
        android:layout_below="@id/btn_4"
        android:layout_marginTop="10dp"
            android:gravity="center"
        android:background="#ACDCD2"/>

</RelativeLayout>

(1)按钮1设置背景时失效,背景色一直无法修改,呈现亮紫色

解决办法:

法1:打开

将其中的

<style 
    name="Theme.MyApplication" 
    parent="Theme.MaterialComponents.DayNight.DarkActionBar">

修改为:

 <style 
    name="Theme.MyApplication"                 
    parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">

法2:

将:

<Button
        android:id="@+id/btn_1"

改为:

<android.widget.Button
        android:id="@+id/btn_1"

原文链接:https://blog.csdn.net/weixin_52089884/article/details/122616834

 (2)按钮2圆角设置:

drawable添加

 书写代码如下:

shape添加shape属性;solid填充color;corners设置radius圆角

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <solid
        android:color="#9870D4"/>

    <corners
        android:radius="10dp"/>
</shape>

而后将Button的background="@drawable/bg_btn2"

(3)边框

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke
        android:width="3dp"
        android:color="#F5C070"/>

    <corners
        android:radius="10dp"/>

</shape>

(4)点击按钮后改变

Root element为selector;两个item分别写点击和未点击;

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <solid
                android:color="#3333CC"/>
            <corners
                android:radius="5dp"/>
        </shape>
    </item>

    <item android:state_pressed="false">
        <shape>
            <solid
                android:color="#A0A0E7"/>
            <corners
                android:radius="5dp"/>
        </shape>
    </item>

</selector>

设置点击后出现弹窗提示

法1:(参考btn_4)

Button设置onClick属性:android:onClick="showToast";

在ButtonActivity.java中添加showToast方法

public void showToast(View view){
        Toast.makeText(this,"btn4被点击了",Toast.LENGTH_SHORT).show();
    }

法2:(参考btn_3和tv_1)常用

Button不必设置其他属性

在ButtonActivity.java中

package com.zhao.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class ButtonActivity extends AppCompatActivity {

    private Button mBtn3;
    private TextView mTv1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);

        mBtn3 = findViewById(R.id.btn_3);
        mBtn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(ButtonActivity.this,"btn3被点击了",Toast.LENGTH_SHORT).show();
            }
        });

        mTv1 = findViewById(R.id.tv_1);
        mTv1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(ButtonActivity.this,"tv1被点击了",Toast.LENGTH_SHORT).show();
            }
        });
    }

    public void showToast(View view){
        Toast.makeText(this,"btn4被点击了",Toast.LENGTH_SHORT).show();
    }
}

五、EditText

制作简单登录界面

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">

    <EditText
        android:id="@+id/et_1"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="用户名"
        android:textSize="20sp"
        android:textColor="#59B8A4"
        android:background="@drawable/bg_username"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:drawableLeft="@drawable/icon_user"
        android:drawablePadding="5dp"
        android:maxLines="1"
        android:layout_marginTop="50dp"/>

    <EditText
        android:id="@+id/et_2"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:hint="密码"
        android:textSize="20sp"
        android:textColor="#59B8A4"
        android:layout_below="@id/et_1"
        android:layout_marginTop="20dp"
        android:maxLines="1"
        android:inputType="textPassword"
        android:background="@drawable/bg_username"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:drawableLeft="@drawable/icon_password"
        android:drawablePadding="5dp" />
    <Button
        android:id="@+id/btn_login"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="登录"
        android:textSize="20sp"
        android:textColor="#FFFFFF"
        android:layout_below="@id/et_2"
        android:layout_marginTop="40dp"
        android:background="@drawable/bg_btn4" />
</RelativeLayout>
package com.zhao.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class EditTextActivity extends AppCompatActivity {

    private Button mBtnLogin;
    private EditText mETUserName;

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

        mBtnLogin = findViewById(R.id.btn_login);
        mBtnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(EditTextActivity.this,"登录成功!",Toast.LENGTH_SHORT).show();
            }
        });

        mETUserName = findViewById(R.id.et_1);
        mBtnLogin.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                Log.d("EditTextActivity",charSequence.toString());
            }

            @Override
            public void afterTextChanged(Editable editable) {

            }
        });
    }
}

 但是监听用户名的输入打印并未实现

六、RadioButton

1.两种样式

 注意:

  • checked属性使用时需要给RadioButton设置id
  • RadioGroup继承自LinearLayout,需要设置orientation
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp">
    <!--样式1-->
    <RadioGroup
        android:id="@+id/rg_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <RadioButton
            android:id="@+id/rb_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="男"
            android:textSize="20sp"
            android:textColor="#4848EB"
            android:checked="true"/>

        <RadioButton
            android:id="@+id/rb_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女"
            android:textSize="20sp"
            android:textColor="#4848EB"/>
    </RadioGroup>
    
    <!--样式2-->
    <RadioGroup
        android:id="@+id/rg_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@id/rg_1"
        android:layout_marginTop="40dp">

        <RadioButton
            android:id="@+id/rb_3"
            android:layout_width="60dp"
            android:layout_height="30dp"
            android:text="男"
            android:textSize="20sp"
            android:textColor="#000000"
            android:checked="true"
                android:button="@null"
            android:background="@drawable/selector_purple"
                android:gravity="center"/>

        <RadioButton
            android:id="@+id/rb_4"
            android:layout_width="60dp"
            android:layout_height="30dp"
            android:text="女"
            android:textSize="20sp"
            android:textColor="#000000"
            android:layout_marginLeft="30dp"
            android:button="@null"
            android:background="@drawable/selector_purple"
            android:gravity="center"/>
    </RadioGroup>

</RelativeLayout>

 2.选中时弹出所选

 注意:先id找到RadioGroup,再根据其找RadioButton

package com.zhao.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class RadioButtonActivity extends AppCompatActivity {

    private RadioGroup mRG1;

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

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

举报

相关推荐

0 条评论