android 自学"/>
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=""android:orientation="vertical"android:layout_width="match_parent"android:layout_height="wrap_content"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="110dp"android:orientation="horizontal"><ImageViewandroid:layout_width="60dp"android:layout_height="60dp"android:layout_marginTop="10dp"android:src="@drawable/head" /><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="20dp"android:layout_marginTop="20dp"android:orientation="vertical">
如果想要显示文字 那么就用TextView:
<TextViewandroid:id="@+id/finish_title"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="头衔"android:textSize="16sp"/>
想显示图片,请参考
<ImageViewandroid:layout_width="60dp"android:layout_height="60dp"android:layout_marginTop="10dp"android:src="@drawable/head" />
如果想定义按钮,参考
<Buttonandroid: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"/>
如果想定义输入框:
<EditTextandroid: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;@Overrideprotected 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;@Overrideprotected 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() {@Overridepublic 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 {@Overridepublic 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);}}
}
如果想添加单选框:
<RadioGroupandroid: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"><RadioButtonandroid: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"/><RadioButtonandroid: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"/><RadioButtonandroid: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>
如果想定义复选框:
<LinearLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="vertical"android:layout_gravity="center_horizontal"><TextViewandroid: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" /><CheckBoxandroid: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"/><CheckBoxandroid: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"/><CheckBoxandroid: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;@Overrideprotected 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() {@Overridepublic 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() {@Overridepublic 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" 居中
更多推荐
android 自学
发布评论