android基础学习-android篇day15-相对布局的常用属性

内容概览

  • -什么是相对布局?
  • -为什么要使用相对布局
  • -相对布局的相关属性
  • -综合练习

相对布局属性:-方向位置

  • android:layout_below:当前控件的上边缘对齐指定控件的下边缘(位于指定控件的底部)
  • android:layout_above:当前控件的下边缘对齐指定控件的上边缘(位于指定控件的顶部)
  • android:layout_toLeftOf:当前控件的右边缘对齐指定控件的左边缘(位于指定控件的左侧)
  • android:laoyut_toRightOf:当前控件的左边缘对齐指定控件的右边缘(位于指定控件的右边)

相对布局属性:-方向对齐

  • android:layout_alignTop:当前控件的上边缘对齐指定控件的上边缘对齐
  • android:layout_alignLeft:当前控件的左边缘对齐指定控件的左边缘对齐
  • android:layout_alignBottom:当前控件的下边缘对齐指定控件的下边缘对齐
  • android:layout_alignRight:当前控件的右边缘对齐指定控件的右边缘对齐

相对布局属性:-基准线对齐

  • android:layout_alignBaseline:为了使两个控件中英文单词(按照基准线)对齐

相对布局属性:-父控件边缘对齐

  • android:layout_alignParentTop:当前控件的上边缘对齐(当前控件的直接父控件)父控件的上边缘对齐
  • android:layout_alignParentLeft:当前控件的左边缘对齐(当前控件的直接父控件)父控件的左边缘对齐
  • android:layout_alignParentBottom:当前控件的下边缘对齐(当前控件的直接父控件)父控件的下边缘对齐
  • android:layout_alignParentRight:当前控件的右边缘对齐(当前控件的直接父控件)父控件的右边缘对齐

相对布局属性:-父控件中央对齐

  • android:layout_centerInParent:当前控件与父控件水平、垂直方向都对齐
  • android:layout_centerVertical:当前控件与父控件垂直方向都对齐
  • android:layout_centerHorizontal:当前控件与父控件水平方向都对齐

相对布局新属性:-头部尾部对象

  • android:layout_alignStart:当前控件的头部与指定控件的头部对齐
  • android:layout_alignEnd:当前控件的尾部与指定控件的尾部对齐
  • android:alignParentStart:当前控件的头部与父控件的头部对齐
  • android:alignParentEnd:当前控件的尾部与父控件的头部对齐

通用属性

  • android:padding:内边距
  • android:layout_margin:外边距
  • android:layout_gravity:当前控件与父控件的位置
  • android:gravity:当前控件内容的位置

相对布局属性的综合案例

<?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" >

    <TextView
        android:id="@+id/tv1"
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_centerInParent="true"
        android:background="@color/blue" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_above="@+id/tv1"
        android:layout_toLeftOf="@+id/tv1"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_above="@+id/tv1"
        android:layout_toRightOf="@+id/tv1"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_below="@+id/tv1"
        android:layout_toRightOf="@+id/tv1"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_below="@+id/tv1"
        android:layout_toLeftOf="@+id/tv1"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentLeft="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentRight="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentBottom="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_centerVertical="true"
        android:background="@color/chartreuse" />

    <TextView
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:background="@color/chartreuse" />

</RelativeLayout>

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Android闹钟设置和全局广播的代码示例,包括布局文件和Java代码: 布局文件:activity_main.xml ```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"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Set Alarm" /> <TimePicker android:id="@+id/timePicker" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Set Alarm" /> </LinearLayout> ``` Java代码:MainActivity.java ```java import android.app.AlarmManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.TimePicker; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; import java.util.Calendar; public class MainActivity extends AppCompatActivity { AlarmManager alarmManager; TimePicker timePicker; TextView updateText; Context context; PendingIntent pendingIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.context = this; alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); timePicker = (TimePicker) findViewById(R.id.timePicker); updateText = (TextView) findViewById(R.id.textView); final Calendar calendar = Calendar.getInstance(); Button start_alarm = (Button) findViewById(R.id.button); start_alarm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { calendar.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour()); calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute()); int hour = timePicker.getCurrentHour(); int minute = timePicker.getCurrentMinute(); String hour_string = String.valueOf(hour); String minute_string = String.valueOf(minute); if (hour > 12) { hour_string = String.valueOf(hour - 12); } if (minute < 10) { minute_string = "0" + String.valueOf(minute); } setAlarmText("Alarm set to: " + hour_string + ":" + minute_string); Intent intent = new Intent(context, AlarmReceiver.class); pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); } }); } public void setAlarmText(String alarmText) { updateText.setText(alarmText); } public static class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Wake up!", Toast.LENGTH_LONG).show(); } } } ``` 在此示例中,我们使用了一个 `TimePicker` 控件让用户选择时间,然后使用 `AlarmManager` 在指定时间触发一个广播。我们也创建了一个广播接收器 `AlarmReceiver`,以便在指定时间触发时显示一个 `Toast` 消息。 请注意,这只是一个简单的示例,并且可能需要进行更多的修改和改进才能符合您的实际需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值