星空网 > 软件开发 > 操作系统

android基本控件学习

 一、TextView的讲解

《实例一》

<??><LinearLayout  ="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"                                      android基本控件学习images/loading.gif' data-original="data:image/png;base64,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  android:orientation="vertical">  <TextView    android:id="@+id/text1"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:textSize="30sp"    android:layout_marginLeft="10dp"    android:layout_marginTop="5dp"    android:background="#ccffee"    android:padding="3sp"    android:text="TextView的基本使用"    android:textColor="#cd0000"    android:textStyle="bold"    />  <TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_marginTop="30dp"    android:layout_marginLeft="10dp"    android:shadowColor="#F9F900"    android:shadowDx="30.0"    android:shadowDy="30.0"    android:shadowRadius="3.0"    android:text="带阴影的TextView"    android:textColor="#4A4AFF"    android:textSize="30sp"    android:textStyle="bold"    />  <TextView    android:id="@+id/text3"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:textSize="30sp"    android:layout_marginLeft="10dp"    android:layout_marginTop="30dp"    android:background="@drawable/txt_rectborder"    android:padding="3sp"    android:text="带有边框的TextView"    android:textColor="#cd0000"    android:textStyle="bold"    />  <TextView    android:id="@+id/text4"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:textSize="30sp"    android:layout_marginLeft="10dp"    android:layout_marginTop="30dp"    android:background="@drawable/txt_radiuborder"    android:padding="3sp"    android:text="带有圆角边框的TextView"    android:textColor="#cd0000"    android:textStyle="bold"    /></LinearLayout>

《属性讲解》

  基本使用

    id:为TextView设置一个组件id,根据id,我们可以在Java代码中通过findViewById()的方法获取到该对象,然后进行相关属性的设置,又或者使用RelativeLayout时,参考组件用的也是id!

    layout_width:组件的宽度,一般写:**wrap_content**或 者**match_parent(fill_parent)**,前者是控件显示的内容多大,控件就多大,而后者会填满该控件所在的父容器;当然也可以设 置成特定的大小,比如我这里为了显示效果,设置成了200dp。

    layout_height:组件的宽度,内容同上。

    gravity:设置控件中内容的对齐方向,TextView中是文字,ImageView中是图片等等。

    text:设置显示的文本内容,一般我们是把字符串写到string.

    textColor:设置字体颜色,同上,通过colors.

    textStyle:设置字体风格,三个可选值:**normal**(无效果),**bold**(加粗),**italic**(斜体)

    textSize:字体大小,单位一般是用sp!  

    background:控件的背景颜色,可以理解为填充整个控件的颜色,可以是图片哦!

  带有阴影的TextView

    android:shadowColor:设置阴影颜色,需要与shadowRadius一起使用哦!

    android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0  

    android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置

    android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置

 带有边框的TextView

  (1)没有圆角:在drawable目录下面定义shape类型的在TextView的background属性中使用

<??><shape ="http://schemas.android.com/apk/res/android">  <!--设置一个黑色宽度为5px的一个边框-->  <stroke android:color="#000000" android:width="5px"/>  <!--渐变-->  <gradient    android:angle="270"    android:endColor="#C0C0C0"    android:startColor="#FCD209"/>  <!-- 设置一一下边距-->  <padding    android:top="5px"    android:bottom="5px"    android:left="5px"    android:right="5px"/></shape>

(2)有圆角:在drawable目录下面定义shape类型的

 

<??><shape ="http://schemas.android.com/apk/res/android">  <!--设置一个黑色宽度为5px的一个边框-->  <stroke android:color="#000000" android:width="5px"/>  <!-- 设置边距-->  <padding    android:top="5dp"    android:bottom="5dp"    android:left="5dp"    android:right="5dp"/>  <!-- 设置一个透明背景色-->  <solid android:color="#87CEEB"/>  <!-- 设置圆角-->  <corners    android:bottomLeftRadius="50px"    android:bottomRightRadius="50px"    android:topLeftRadius="50px"    android:topRightRadius="50px"/></shape>

 

实例二:带有图片的TextView

<??><LinearLayout  ="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  android:gravity="center">  <TextView    android:id="@+id/text1"    android:layout_width="200dp"    android:layout_height="200dp"    android:gravity="center"    android:textSize="20sp"android基本控件学习    android:background="#ccffee"    android:padding="3sp"    android:text="Android"    android:textColor="#cd0000"    android:textStyle="bold"    android:drawableTop="@mipmap/ic_launcher"    android:drawableBottom="@mipmap/ic_launcher"    android:drawableLeft="@mipmap/ic_launcher"    android:drawableRight="@mipmap/ic_launcher"    />  <LinearLayout    android:layout_width="match_parent"    android:layout_height="100dp"    android:layout_marginTop="50dp"    android:orientation="horizontal">    <TextView      android:id="@+id/text2"      android:layout_width="0dp"      android:layout_weight="1"      android:layout_height="match_parent"      android:gravity="center"      android:textSize="20sp"      android:background="#ccffee"      android:padding="3sp"      android:text="Android1"      android:textColor="#cd0000"      android:textStyle="bold"      android:drawableTop="@mipmap/ic_launcher"      />    <TextView      android:id="@+id/text3"      android:layout_width="0dp"      android:layout_weight="1"      android:layout_height="match_parent"      android:gravity="center"      android:textSize="20sp"      android:background="#ccffee"      android:padding="3sp"      android:text="Android2"      android:textColor="#cd0000"      android:textStyle="bold"      android:drawableTop="@mipmap/ic_launcher"      />    <TextView      android:id="@+id/text4"      android:layout_width="0dp"      android:layout_weight="1"      android:layout_height="match_parent"      android:gravity="center"      android:textSize="20sp"      android:background="#ccffee"      android:padding="3sp"      android:text="Android3"      android:textColor="#cd0000"      android:textStyle="bold"      android:drawableTop="@mipmap/ic_launcher"      />    <TextView      android:id="@+id/text5"      android:layout_width="0dp"      android:layout_weight="1"      android:layout_height="match_parent"      android:gravity="center"      android:textSize="20sp"      android:background="#ccffee"      android:padding="3sp"      android:text="Android4"      android:textColor="#cd0000"      android:textStyle="bold"      android:drawableTop="@mipmap/ic_launcher"      />  </LinearLayout></LinearLayout>

属性讲解:

drawableTop(上),drawableButtom(下),drawableLeft(左),drawableRight(右) 另外也可以使用drawablePadding来设置图片与文字间的间距!与此同时我们会发现在

 

import android.app.Activity;android基本控件学习

 

android基本控件学习android基本控件学习.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qpd661ToVAolUpNmTLFoz/PPKsAc363c1W/Wa+GtszX/1JosMFO4LTtWrb33nt/9tln//jHPzz688wzz3Yv22+//byfOffMM892R7Po78MPP7Sep7ZtZ/vlmWeeefYVm0V/q1evVhRlZ/vimWeeefYfNI/+PPPMs93UPPrzzDPPdlPz6M8zzzzbTc2jP88882w3NYv+Nm7cOHXq1DMJ29l+eeaZZ559xebp/jzzzLPd1Dz688wzz3ZT8+jPM888203Noz/PPPNsNzWP/jzzzLPd1Dz688wzz3ZT8+jPM888202tYujPeoPjzvbiK7dQKJTL5Xa2FzvSdrFey+fzO9uFHWbkS093sW4aolUG/fn9/kwmc//99z/88MOKouzCXRUOhyv9dWNW7/j9/mAwqKqqpmmhUMjeubO9215raGjY2S5sl/n9fk3TTjrppFtvvfUPf/jDww8/fPvtt59++umGYewCvTNcqwD68/v9hxxyyCuvvNLZ2bl8+fI5c+bswv1U6fTn9/uLxeJZZ5111113Pf3000uWLFm6dOkzzzzz29/+9rzzzquvr6/0vqto+vP7/d/+9rdfeOGFnp6e5cuXd3Z2WjHV09OzZMmS73//+04vwd8VLZFInHLKKSf320n9trP96je/33/kkUf29PRY/WR11cSJE3fVTqpc+vP7/YZhzJgxo6urq7e3d+nSpY888sidd975m9/85o9//OPixYt7enq6u7uvvPLKTCZTud1XufRXVVU1derUrq4uO5RI6+zs7O7unjlzZuV2za5mfr9/jz326O3tJTuss7Nz0aJFpmnukv1UofRXVVXV3t7+wgsvLF++/LnnnjvhhBNkWSbnlXienzx58pNPPtnZ2bl06dK99tqL/ZXFirAKpb+qqqoJEyawrAfW1dV1wgkn7JKRVXnm9/vvvvvuZcuWsSPV7373uwqNH2erRPrz+/3t7e2dnZ3Lli276KKLfD6f/etihx56qKqqVjVr5xlnnGF16Lhx4yqxByuU/sLhcNmkj42sV155JRAI7Gx/PfP5otHoM888U7bburq6zj333F1vmKpE+hNFcdGiRV1dXYcffjjZIxzHvfLKK/vttx9Jc36/f++99+7p6XnppZcq8SVrFUp/Y8aM6erqcqU/iwGPOOKIShyZdjWrqqp66KGHymZ/fX1906ZN2/U6qRLp77bbbuvp6Tn11FNhNBJFsaur67DDDoNu8vv9EydO7O3tfeSRRyquByuR/gKBwE9+8hM2jgazu+++e9dLLCrSzjzzTHLU6uzs7O3tfeKJJw4++OCd7dpXYpVFf36/v66u7pVXXpk3b144HIZP0+l0b2/vsccey95MBYPBW265pbOzs729vbIirRLpz+/333XXXUOnv6VLl1bcsLQLmt/vr6mp6e7utrlv/vz5Rx99NM/zO9u1r8oqjv5uuummvr6+fffdF1jM7/c3Njb29vaedNJJZWOpqalpxYoV9957b2VFWoXS3x133DF0+lu0aFFljUm7rPn9/p/+9KfW9N+yZctuvfXWXXtetrLoj+O4F198cdGiRYIgwEdVVVVjxozp6+sb7NXh0Wh04cKFvb295Brxf79VIv1VVVVdeOGFQ1n6sOyaa66poB7Zxa1QKPT29lod09vb29zcvAv3TWXRXzQa7e7uvummm9gMzlJa9PX1XXjhhWW/W1VV9fOf/3zVqlWV9RhZJdKfz+ez7qK6u7sPPPDA9sHtyCOP7O3t3WOPPXbhEKsw8/v9U6dOtcauzs7OG264geO4ne3UV2WVRX+FQqGrq2vKlClstFRVVX3zm9/s6+ubNWtW2Vjy+/0nnnhib2/v2LFj/yPO7hirUPrjOG7BggXLli279tprrWcQwaqqquLx+BNPPLFw4cKd7axnhPn9/lgsZoufe3t7TzzxxMqaMBq6VRb91dfXd3V1nX322SzBBQKBo48+uru7+7HHHitLf1VVVccdd1xPT8/48eP/I87uGKtQ+vP5fKZpWo98XHPNNb5+GaZl1gPad911V2dnZ2tr664aXBVsxWLRXgJ+5ZVXnEWzldt/lUV/uq53dXVdfvnlZRs8Fovdc889y5cvf+ihh9hPq6qqpkyZ0tfXN2LEiK/e0x1mlUt/1nREV1fXsmXLnnrqqYkTJ4bDYb/fLwjCaaedtnDhwu7u7iOPPNK77f1vNL/ff+6559qzs4sXLy77/Lzf71cUZf/99w8EApXYkRVEf36/PxQKdXV13XfffYOtRwmCcNVVV3V1dd1zzz0wZVFVVXXXXXetWrUqmUxWUE9VLv35fD6/39/Q0HD33Xf39fX19PRYy1YvvfTSqlWr7rvvvpEjR1Zu3rDrm9/vv/HGG60csLOzc/HixSNHjoTIiUajTz75ZE9Pz3XXXafregXFlWUVRH8+n6+qquqpp57q7e0tFAqDNXU0Gp0+fXpPT8/1118fiUTsarqu9/b2vvTSS5FI5D/o8vZapdOfdZ/b0tJy4oknXnzxxdOmTTv55JPb29utrqm4eNmNzO/3RyKRefPm2TLA7u7uQw45xE4r/H7/t771LfseecGCBfvss09ldWpl0Z/f7//ud7872PSfXScQCJx55pk9PT0zZsyw1NF+v//YY4/t7Ow855xzKqh3fBVLf9biRjqdHjlyZCQSsR/Kthq/qqoqFAq1trbm8/nKipfdy/x+vyRJv//9720G7OvrmzlzppXoiaK4dOlSW9/U2dnZ09Nz/vnnR6PRne34UK2y6M/n83Ec9/zzz7/88svV1dXOYTN58uRly5a1tLT4/f5kMvnSSy8tW7asgrrGskqkP7/fn06nf/7zn/f09KxcufLhhx8+9dRTR40aVVdXV1tb297efvzxxz/wwAMrVqzo7e299tprc7mcx4D/pVZVVRWNRufNm0fS3LJly6ZMmfLtb3/beo8j2BNPPBEMBne240OyiqO/qqoqK4978MEHnW9j/X5/PB73+/3hcPjOO+9ctmzZ6aefXnGTTRVHf36/v6OjY+XKlfZTH9Yfvb29K1euXLlyZV9fn7UeYn/6+uuv77///hXXNbuLWZn89OnTV6xYYTNgZ2fnYO+06OzsbGpq2tleD8kqjv58Pp/f77/qqquWL19uvcLA4bEcaz3KGrruvvvu/6STO8oqi/78fv+oUaNWrFgx9Ec+LFu5cuVee+3l5YD/vRYIBEaNGvXyyy87d21XV9e1115bKR1ZifTn8/nC4fCPf/zj7u7uJUuW2KrMQCBQVVVFEuKkSZOef/75rq6uG264obJWPGyrLPrjed56xeywuM+yJUuWVOLi4W5kfr9f07QrrrgC3ghtW2dn5yOPPFJBE0wVSn+WCOaEE06wcvAFCxbMnj170qRJe+2117hx44488sjp06f/6U9/sjrlzDPPtBRnO9vrbbHKor/jjz/efmPIcK2rq+uss86q0G7aXczqnj333PPWW2+1fhKE5MH58+dX1jxuhdKfbdls9vLLL1+yZElfX9/KlSt7enp6enpWrFixcuXKF1988Yorrqipqamg7mCtguivqqrq0Ucf7e3tXbFN1tfX9/zzz7PvMfPsv9H8fv8+++xzyy23/PnPf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

 

  说明:all就是全部都包含,自动识别协议头~ 在Java代码中可以调用setAutoLinkMask(Linkify.ALL); 这个时候可以不写协议头,autolink会自动识别,但是还要为这个TextView设置: setMovementMethod(LinkMovementMethod.getInstance()); 不然点击了是没效果的!

实例四:TextView对html的支持

  说明:不是所有的html标签都支持,常用如下:

  • <font>:设置颜色和字体。
  • <big>:设置字体大号
  • <small>:设置字体小号
  • <i><b>:斜体粗体
  • <a>:连接网址
  • <img>:图片
package com.example.test3;//文字和链接import android.app.Activity;import android.os.Bundle;import android.text.Html;import android.text.method.LinkMovementMethod;android基本控件学习import android.text.util.Linkify;import android.widget.TextView;public class MainActivity extends Activity {  private TextView textView1;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    textView1 = (TextView) findViewById(R.id.text1);//    定义html字符串    String s1 = "<font color='blue'><b>百度一下,你就知道~:</b></font><br>";    s1 += "<a href = 'http://www.baidu.com'>百度</a>";//    设置给TextView,需要调用Html.fromHtml()方法    textView1.setText(Html.fromHtml(s1));//    设置链接的类型,如果是all可以不写协议头,会自动识别    textView1.setAutoLinkMask(Linkify.ALL);//    在Java中调用链接,需要设置下面的方法,不然没有作用    textView1.setMovementMethod(LinkMovementMethod.getInstance());  }}

package com.example.test3;//图片import android.app.Activity;import android.graphics.drawable.Drawable;android基本控件学习import android.os.Bundle;import android.text.Html;import android.text.method.LinkMovementMethod;import android.text.util.Linkify;import android.widget.TextView;import java.lang.reflect.Field;public class MainActivity extends Activity {  private TextView textView1;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    textView1 = (TextView) findViewById(R.id.text1);    String s1 = "图片:<img src = 'ic_launcher'/><br>";    textView1.setText(Html.fromHtml(s1, new Html.ImageGetter() {      @Override      public Drawable getDrawable(String source) {        Drawable draw = null;        try {//          得到图片的位置          Field field = R.mipmap.class.getField(source);//          得到图片的id          int resourceId = Integer.parseInt(field.get(null).toString());//          得到图片          draw = getResources().getDrawable(resourceId);//          设置图片的大小          draw.setBounds(0, 0, draw.getIntrinsicWidth(), draw.getIntrinsicHeight());        } catch (Exception e) {          e.printStackTrace();        }        return draw;      }    }, null));  }}

实例四:SpannableString&SpannableStringBuilder定制文本

(1)首先SpannableString、SpannableStringBuilder基本上与String差不多,也是用来存储字符串,但它们俩的 特殊就在于有一个SetSpan()函数,能给这些存储的String添加各种格式或者称样式(Span),将原来的String以不同的样式显示出来, 比如在原来String上加下划线、加背景色、改变字体颜色、用图片把指定的文字给替换掉,等等。所以,总而言之,SpannableString、 SpannableStringBuilder与String一样, 首先也是传字符串,但SpannableString、 SpannableStringBuilder可以对这些字符串添加额外的样式信息,但String则不行。

(2)注意:如果这些额外信息能被所 用的方式支持,比如将SpannableString传给TextView;也有对这些额外信息不支持的。对于不 支持的情况,SpannableString和SpannableStringBuilder就是退化为String类型,直接显示原来的String字 符串,而不会再显示这些附加的额外信息。

(3)它们的区别在于 SpannableString像一个String一样,构造对象的时候传入一个String,之后再无法更改String的内容,也无法拼接多个 SpannableString;而SpannableStringBuilder则更像是StringBuilder,它可以通过其append()方 法来拼接多个String:

(4)void setSpan (Object what, int start, int end, int flags)

函数意义:给SpannableString或SpannableStringBuilder特定范围的字符串设定Span样式,可以设置多个(比如同时加上下划线和删除线等),Falg参数标识了当在所标记范围前和标记范围后紧贴着插入新字符时的动作,即是否对新插入的字符应用同样的样式。(这个后面会具体举例说明)

参数说明:

object what :对应的各种Span,后面会提到;
int start:开始应用指定Span的位置,索引从0开始
int end:结束应用指定Span的位置,特效并不包括这个位置。比如如果这里数为3(即第4个字符),第4个字符不会有任何特效。从下面的例子也可以看出来。
int flags:取值有如下四个
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE:前后都不包括,即在指定范围的前面和后面插入新字符都不会应用新样式 
Spannable.SPAN_EXCLUSIVE_INCLUSIVE :前面不包括,后面包括。即仅在范围字符的后面插入新字符时会应用新样式
Spannable.SPAN_INCLUSIVE_EXCLUSIVE :前面包括,后面不包括。
Spannable.SPAN_INCLUSIVE_INCLUSIVE :前后都包括。

(5)对应的各种Object:

  • BackgroundColorSpan 背景色
  • ClickableSpan 文本可点击,有点击事件
  • ForegroundColorSpan 文本颜色(前景色)
  • MaskFilterSpan 修饰效果,如模糊(BlurMaskFilter)、浮雕(EmbossMaskFilter)
  • MetricAffectingSpan 父类,一般不用
  • RasterizerSpan 光栅效果
  • StrikethroughSpan 删除线(中划线)
  • SuggestionSpan 相当于占位符
  • UnderlineSpan 下划线
  • AbsoluteSizeSpan 绝对大小(文本字体)
  • DynamicDrawableSpan 设置图片,基于文本基线或底部对齐。
  • ImageSpan 图片
  • RelativeSizeSpan 相对大小(文本字体)
  • ReplacementSpan 父类,一般不用
  • ScaleXSpan 基于x轴缩放
  • StyleSpan 字体样式:粗体、斜体等
  • SubscriptSpan 下标(数学公式会用到)
  • SuperscriptSpan 上标(数学公式会用到)
  • TextAppearanceSpan 文本外貌(包括字体、大小、样式和颜色)
  • TypefaceSpan 文本字体
  • URLSpan 文本超链接
(6)实例
import android.app.Activity;import android.graphics.Color;import android.graphics.Typeface;import android.graphics.drawable.Drawable;android基本控件学习import android.os.Bundle;import android.text.Spannable;import android.text.SpannableString;import android.text.Spanned;import android.text.style.ForegroundColorSpan;import android.text.style.ImageSpan;import android.text.style.StrikethroughSpan;import android.text.style.StyleSpan;import android.text.style.URLSpan;import android.text.style.UnderlineSpan;import android.widget.TextView;public class MainActivity extends Activity {  private TextView textView1;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    textView1 = (TextView) findViewById(R.id.text1);    SpannableString span = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");    //1.设置背景色,setSpan时需要指定的flag,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)    span.setSpan(new ForegroundColorSpan(Color.RED), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    //2.用超链接标记文本    span.setSpan(new URLSpan("tel:123456"), 2, 5, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);    //3.用样式标记文本(斜体)    span.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    //4.用删除线标记文本    span.setSpan(new StrikethroughSpan(), 7, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    //5.用下划线标记文本    span.setSpan(new UnderlineSpan(), 10, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    //6.用颜色标记    span.setSpan(new ForegroundColorSpan(Color.GREEN), 10, 13,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);    //7.//获取Drawable资源    Drawable d = getResources().getDrawable(R.mipmap.ic_launcher);    d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());    //8.创建ImageSpan,然后用ImageSpan来替换文本    ImageSpan imgspan = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);    span.setSpan(imgspan, 18, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);    textView1.setText(span);  }}

package com.example.test3;android基本控件学习

实例五:跑马灯

<??><LinearLayout  ="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  android:gravity="center">  <TextView    android:id="@+id/txtOne"android基本控件学习

实例六:行间距、字间距、自动换行(默认是自动换行)

<??><LinearLayoutandroid基本控件学习

 



 




原标题:android基本控件学习

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

创兴世纪:跨境电商物流会遇到哪些挑战? :https://www.goluckyvip.com/news/9452.html
为让美国人也疯狂“砍”几刀的拼多多60秒广告烧近一亿 :https://www.goluckyvip.com/news/9453.html
达飞空运拓展中国业务;亚马逊将在4月征收仓储附加费 :https://www.goluckyvip.com/news/9454.html
欧洲FBA头程物流有哪些优势和劣势?:https://www.goluckyvip.com/news/9455.html
3670个集装箱被烧毁,地震重创土耳其物流 :https://www.goluckyvip.com/news/9456.html
一条5680万次播放的视频,引爆TikTok“抵制消费潮”:https://www.goluckyvip.com/news/9457.html
泰国签证有出生地 泰国出生入籍护照:https://www.vstour.cn/a/411245.html
宠物梳专利查询分析:https://www.kjdsnews.com/a/1842293.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流