button_view.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="40dp"
android:text="按钮1"
android:textSize="16dp"
android:background="@drawable/bg_btn1"
/>
<Button
android:id="@+id/btn_2"
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="按钮2"
android:textSize="16dp"
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="40dp"
android:text="按钮3"
android:textSize="16dp"
android:background="@drawable/bt_btn3"
android:layout_below="@+id/btn_2"
android:layout_marginTop="10dp"
android:onClick="showToast"
/>
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="50dp"
android:textSize="16dp"
android:text="文字"
android:layout_below="@+id/btn_3"
android:layout_marginTop="15dp"
android:gravity="center"
android:background="#90EE90"
/>
</RelativeLayout>
bg_btn1.xml
在drawable创建
File name为bg_btn1
Root element为shape
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">//形状为矩形
<stroke
android:width="1dp"//宽度为1dp
android:color="#FF9900"/>//颜色
<corners
android:radius="5dp"/>//设置圆角半径
</shape>
呈现的为按钮2
下面来看按压效果:
bg_btn2.xml
<?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="#CC7A00"/>按压时的颜色
<corners android:radius="5dp"/>//设置圆角的半径,设置为四个角。
</shape>
</item>
<item android:state_pressed="false">//不是按压的时候
<shape>
<solid android:color="#FF9900"/>//不按压时的颜色
<corners android:radius="5dp"/>
</shape>
</item>
</selector>
这个代码也是在drawable创建
File name为bg_btn1
Root element为selector
ButtonViewActivity.java
package net.nyist.lenovo.mytextview;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class ButtonViewActivity extends AppCompatActivity {
private TextView tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button_view);
tv1 = (TextView) findViewById(R.id.tv1);
tv1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ButtonViewActivity.this, "tv1被点击了", Toast.LENGTH_SHORT).show();
}
});
}
public void showToast(View view){
Toast.makeText(ButtonViewActivity.this, "btn3被点击了", Toast.LENGTH_SHORT).show();
}
}
### activity_main.xml ###
<?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"
android:orientation="vertical"
>
<Button
android:id="@+id/btn_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="textview"
/>
<Button
android:id="@+id/btn_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="button"
/>
</LinearLayout>
MainActivity.java
package net.nyist.lenovo.mytextview;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnTextView= (Button) findViewById(R.id.btn_tv);
Button btnButton = (Button) findViewById(R.id.btn_button);
btnTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,TextViewActivity.class);
startActivity(intent);
}
});
btnButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,ButtonViewActivity.class);
startActivity(intent);
}
});
}
}
这里特指的按钮3被按压