精华内容
下载资源
问答
  • import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.Nullable; import com.example.media.R; public class MusicInfoView extends LinearLayout { private String ...

    MusicInfoView.java 

    package com.example.media.Component;
    
    import android.content.Context;
    import android.content.res.AssetManager;
    import android.graphics.Typeface;
    import android.util.AttributeSet;
    import android.view.LayoutInflater;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    import androidx.annotation.Nullable;
    import com.example.media.R;
    
    public class MusicInfoView extends LinearLayout {
        private String musicTitle;
        private String musicAuthor;
        private TextView musicTitleView;
        private TextView musicAuthorView;
    
        public MusicInfoView(Context context, @Nullable AttributeSet attrs) {
            super(context, attrs);
            LayoutInflater.from(context).inflate(R.layout.music_info,this, true);
            musicTitleView = (TextView) findViewById(R.id.music_title);
            musicAuthorView = (TextView) findViewById(R.id.music_author);
    
            // font set
            AssetManager mgr = context.getAssets();
            Typeface regularTf = Typeface.createFromAsset(mgr, "fonts/SourceHanSansCN-Regular.ttf");
            Typeface robotoTf = Typeface.createFromAsset(mgr, "fonts/Roboto-Bold.ttf");
            musicTitleView.setTypeface(robotoTf);
            //musicAuthorView.setTypeface(regularTf);
        }
    
        // update music info
        public void updateMusicInfo(String title, String author) {
            if (title != null) {
                musicTitleView.setText(title);
                this.musicTitle = title;
            } else {
                musicTitleView.setText(musicTitle);
            }
            if (author != null) {
                musicAuthorView.setText(author);
                this.musicAuthor = author;
            } else {
                musicAuthorView.setText(musicAuthor);
            }
        }
    }
    

    music_info.xml

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="480dp"
        android:layout_height="136dp"
        android:background="#000000"
        tools:context=".Component.MusicInfoView">
    
        <TextView
            android:id="@+id/music_title"
            android:layout_width="match_parent"
            android:layout_height="76dp"
            android:text="Life Goes On"
            android:textColor="#ffffff"
            android:textSize="60sp"
            android:textFontWeight="700"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            />
        <TextView
            android:id="@+id/music_author"
            android:layout_width="match_parent"
            android:layout_height="54dp"
            android:layout_marginTop="82dp"
            android:layout_marginBottom="0dp"
            android:text="陈奕迅"
            android:textColor="#ffffff"
            android:textSize="36sp"
            android:textFontWeight="400"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            />
    
    </androidx.constraintlayout.widget.ConstraintLayout>

    MainActivity.java

    <com.example.media.Component.MusicInfoView
        android:id="@+id/music_info"
        android:layout_width="480dp"
        android:layout_height="136dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        />

     

    展开全文
  • LinearLayout

    2018-06-23 08:17:54
    简介 xxx 属性 子控件分割线 android:divider=&amp;amp;amp;amp;amp;amp;quot;@drawable/divider&amp;amp;amp;amp;amp;amp;quot; 子控件分割线位(middile、beginning、end、none)...a

    简介

    xxx

    属性

    分割线

    样式

    android:divider="@drawable/divider"
    
    android:divider="@color/orange"
    

    位置(middile、beginning、end、none)

    android:showDividers="middle"
    

    注意

    外套ScrollView则本身权重失效,详情

    展开全文
  • 1.LinearLayout 2.RelativeLayout 3.FrameLayout 4.TableLayout 5.引入布局(插入带按钮的标题栏)
    1.LinearLayout

    LinearLayout中有一个属性是android:orientation,vertical是垂直排列,horizontal是水平排列。
    在activity_main中创建三个按钮,然后分别按照竖直排列和水平排列:

    android:orientation="vertical"


    android:orientation="horizontal"


    在按钮中可以添加属性android:layout_gravity用于控件在布局中的对齐方式:
    例如在按钮1/2/3中分别依次加入下面的三条语句:

    android:layout_gravity="top"
    android:layout_gravity="center_vertical"
    android:layout_gravity="bottom"

    效果如下:

    现在将布局中的按钮删掉,改成如下代码:

    <EditText
        android:id="@+id/edit_text"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:hint="Type something"/>
    <Button
        android:id="@+id/button_1"
        android:layout_width="warp_content"
        android:layout_height="wrap_content"
        android:text="button 1"/>

    效果如下:


    EditText和Button的宽度都设置成了0,此时的宽度由android:layout_weight来决定,系统会自动计算将layout_weight的值相加,得到一个总值,每个控件的值就是所占比例。
    也可以EditText为刚才的编码,Button改为原来的写法,这样Button会按照warp_content计算,而EditText会占满剩下的部分。如下图所示:
    2.RelativeLayout

    将布局改为RelativeLayout,并在创建5个按钮,5个按钮的代码如下:

    <Button
        android:id="@+id/button_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="button 1"/>
    <Button
        android:id="@+id/button_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="button 2"/>
    <Button
        android:id="@+id/button_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="button 3"/>
    <Button
        android:id="@+id/button_4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:text="button 4"/>
    <Button
        android:id="@+id/button_5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:text="button 5"/>

    运行的效果如下:

    在按钮中添加了android:layout_alignParent***代表在界面中的位置,比如按钮1中,左部和上部的属性设置为true,所以该按钮在左上角,中部为android:layout_centerInParent。

    刚才的例子是相对于父布局进行定位,还可以相对部件进行定位,代码如下:

    <Button
        android:id="@+id/button_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/button_3"
        android:layout_toLeftOf="@id/button_3"
        android:text="button 1"/>
    <Button
        android:id="@+id/button_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/button_3"
        android:layout_toRightOf="@id/button_3"
        android:text="button 2"/>
    <Button
        android:id="@+id/button_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="button 3"/>
    <Button
        android:id="@+id/button_4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button_3"
        android:layout_toLeftOf="@id/button_3"
        android:text="button 4"/>
    <Button
        android:id="@+id/button_5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button_3"
        android:layout_toRightOf="@id/button_3"
        android:text="button 5"/>

    效果如下:

    可以看到写法同父布局相似。

    3.FrameLayout

    该布局非常简单,用的也较少,它将所有东西都重叠放到了左上角(介绍碎片时会用到)。

    4.TableLayout

    使用表格的方式来排列,代码如下:

    <TableRow>
        <TextView 
            android:layout_height="wrap_content"
            android:text="Account:"/>
        <EditText
            android:id="@+id/edit_account"
            android:layout_height="wrap_content"
            android:hint="Input your account"/>
    </TableRow>
       
    <TableRow>
        <TextView
            android:layout_height="wrap_content"
            android:text="Password:"/>
        <EditText
            android:id="@+id/edit_password"
            android:layout_height="wrap_content"
            android:hint="Input your password"/>
    </TableRow>
    
    <TableRow>
        <Button
            android:id="@+id/button"
            android:layout_height="wrap_content"
            android:layout_span="2"
            android:text="Login"/>
    </TableRow>

    效果如下:


    其中android:layout_span=“2”是让该按钮占两列的空间

    在TableLayout中没法指定空间的宽度,所以右边空出一块,这是可以使用android:stretchColumns属性解决这个问题。
    在布局定义的时候添加如下代码:

    android:stretchColumns="1"

    表示如果表格不能占满屏幕,就让第二列进行拉伸,如果该语句的赋值为“0”,则表示拉伸第一行。效果如下:



    5.引入布局

    因为iphone没有返回的实体按键,所以在标题栏会有按键,我们可以仿照做一个。首先创建一个布局为title.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">
    
        <Button
            android:id="@+id/title_back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="5dip"
            android:text="back"
            android:textColor="#fff"/>
        <TextView
            android:id="@+id/title_text"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:gravity="center"
            android:text="登陆"
            android:textSize="24sp"/>
        <Button
            android:id="@+id/title_edit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_margin="5dip"
            android:text="edit"
            android:textColor="#fff"/>
    
    </LinearLayout>

    效果如下:


    现在在activity_main中添加如下代码:

    <include layout="@layout/title"/>

    将刚才的title引入,然后在MainActivity中添加

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    想系统自带的标题栏去掉。运行效果如下:




    展开全文
  • LinearLayout布局

    2016-09-22 15:59:26
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
    展开全文
  • 四周都没有压缩10dp,一开始的代码: 后来想了想,那就外面再套一层linearlayout,然后就可以了,如图:
  • 自定义控件之 - 自定义LinearLayout控件 1.1 引入布局include 1.2 自定义LinearLayout控件 自定义控件之 - 自定义LinearLayout控件 1.1 引入布局include 最终效果 要创建这样的标题栏只需在界面中...
  • LinearLayout——线性布局; 线性布局,将它所包含的控件在线性方向上排列(水平排列/垂直排列), android:orientation="horizontal"表示排列方向为水平方向,代码如下: &lt;?xml version="1.0...
  • 自定义View之继承LinearLayout

    千次阅读 2017-06-01 16:06:04
    2:半自定义View,所谓半自定View就是继承SDK中已经写好的一些View,比如LinearLayout、RelativeLayout、FragmentLayout、Dialog等等 3:混合自定义View,混合自定义就是在XML文件中引入已经写好的自定义View
  • 手把手教你实现 LinearLayout

    千次阅读 2016-05-11 00:10:54
    前言做了有一年的 android 应用开发了,一直停留在应用面,感觉好像也没什么提升了。...就从比较简单的 LinearLayout 开始吧。 LinearLayout 相信每个做 android 开发的肯定都不陌生。本篇也不准备把 LinearLay
  • FlexboxLayout是google前一段时间推出的新控件,目前github已经有了10K颗星星了,FlexboxLayout的功能十分强大,使用FlexboxLayout代替LinearLayout是最好不过的选择,同时结合之前的百分比适配的话,很好的解决手机...
  • 安卓android LinearLayout添加边框

    千次阅读 2015-05-15 14:17:42
     <LinearLayout  android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/border"> 。 。。 </LinearLayout>
  • Android自定义控件---继承Linearlayout

    万次阅读 2015-06-28 22:27:50
    之所以用得到这个技术,主要是在实际的项目开发中要反复去使用某个控件来实现...在Linearlayout的构造函数中通过使用映射机制加载布局文件,即通过Inflater方法,在使用该方法自定义的控件时,由于所有的子元素都是在
  • 这里的探讨全部在LinearLayout下的,其他布局暂时没有研究。 一直对于layout_margin的用法比较困惑,感觉比较玄学。故仔细研究了一番,特此笔记。 先看下layout_margin这个属性吧 <LinearLayout android:...
  • LinearLayout linearLayout = new LinearLayout(this);LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams)tv.getLayoutParams();layoutParams.leftMargin = 30; // 左边距layoutParams....
  • 简单来说就是继承ViewGroup,onMeasure onLayout 各种测试、布局,然后在xml引入该自定义View使用即可 重点来了,然后自己实现一个自定义LinearLayout的时候,还是按部就班 onMeasure onLayout ....省略计算...
  • Fragment代码: public class OrderFragment extends Fragment implements View.OnClickListener { View v;... LinearLayout ll_commodity; final List list = new ArrayList; @Nullable @Overrid
  • 2. 将分割线view定义在border.xml里面,通过include引入。 android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/app_background_color" android:...
  • 3.布局文件引入自定义组件需要如下设置 自定义组件命名空间: [html]   view plain copy print ? xmlns:custom = ...
  • 对于android:orientation="horizontal",我们可以理解为默认情况下LinearLayout的多个子控件必须在水平方向从左至右依次摆放,不可以左边空一部分不摆放任何控件而在水平方向中间的某处摆放一个控件,而在竖直方向则...
  • 今天我们来说一下Android五大布局-LinearLayout布局(线性布局)  含义:线性布局,顾名思义,指的是整个Android布局中的控件摆放方式是以线性的方式摆放的,  主要作用:主要对整个界面进行基本设置使用  重要属性:...
  •  为了方便调整,我们还需要引入两个值   点距离父控件左边的偏移值(调整左右间距),每个节点距离childView的偏移值(调整上下间距)   于是我们的attrs.xml就出来了 然后继承...
  • android.widget.LinearLayout cannot be cast to android.app.Activity 一个很简单的错误,让我找了半天。总结来说,就是粗心造成的。 从字面意思上看是类型转换错误。先根据log定位到activity,然后根据log,检查...
  • LinearLayout在Flutter中相当于什么 在Android中,使用LinearLayout来使您的控件呈水平或垂直排列。在Flutter中,您可以使用Row或Co​​lumn来实现相同的结果。 @override Widget build(BuildContext context) { ...
  • 异常:android.view.InflateException: Binary XML file line #2: Error inflating class linearlayout资源文件 起初的怀疑: 类库未正确引入; 资源文件命名空间,属性集缺失; 自定义类在proguard-rules.pro中...
  • 在包.com.test1.android.anim中 为什么... public class SlidingPanel extends LinearLayout { private int speed=300; private boolean isOpen=false; public SlidingPanel(final Context ctxt, Attribu...
  • 首先介绍常用布局类 FrameLayout最简单的布局管理器。  这个布局管理类有几个特性: ...LinearLayoutLinearLayout通过垂直方向和水平方面进行布局的,LinearLayout允许每一个视图都有一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,904
精华内容 7,961
关键字:

linearlayout引入