androidstudio的textview怎么实现跑马灯
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了androidstudio的textview怎么实现跑马灯相关的知识,希望对你有一定的参考价值。
参考技术A <?xml version="1.0" encoding="utf-8"?><RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.marqueetextviewdeom.MainActivity">
<TextView
android:id = "@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:text="@string/hello_world"/>
</RelativeLayout>
android的textview怎么初始化
我想问一下,textview难道只能用TextView textview = (TextView)findViewById(R.id.xxx);的方式获取吗,为什么我这样写textview根本没有显示出来呢(以下代码写在mainactivity的oncreate函数中):
TextView textView = new TextView(this);
textView.setText("Go Go Go");
textView.setTop(50);
textView.setLeft(50);
textView.setTextSize(24);
textView.setTextColor(Color.BLACK);
textView.setVisibility(View.VISIBLE);
如果我不想把一个view的初始化写进xml里(也就是不想通过findviewbyid方法新建一个view),还有什么办法?
好吧。。事情是这样的。。这个mainactivity已经有了一个view了,我只是希望在这个view的上面覆盖几个textview,这要怎么做到?
最简单的操作是调用setContentView(textView), 这样,这一整个Acitivty就只显示这个TextView了,但实际开发中肯定不这么干。
一般是把一个View加到一个Layout上。每一个Layout比如Linerlayout什么的,都是一个GroupView,都有一个addView(View)的方式。
如果你一整个Activity都不想用find。。。那就初始一个Layout 加到 Ac上,加给layout 加view
public void onCreate(Buddle c)
super.onCreate(c)
LinearLyaout layout = new LinearLayout(this);
setContentView(layout);
TextView tv = new TextView(this);
.......你的那堆代码
layout.addView(tv);
追问
问题有了补充
参考技术A 先说明你上面的代码:你是实例化了 TextView 类,并没有将它加载到页面上去,所以肯定是不会在界面上显示出来的。
其实你的问题就是希望能在后台生成一个 textview,而不是在xml 里面写一个,这个简单,看代码:
LinearLayout linearLayout=new LinearLayout(Show.this); //创建一个布局管理器
TextView tv=new TextView(Show.this); //创建一个 textview
tv.setText("这是一个新的textview "); //设置textview 的 内容
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
linearLayout.addView(tv,lp);
这样就可以创建一个textview 了。追问
问题有了补充
追答没有太明白你的意思,我可以理解为:你是要改变原有的 view 中的某些textview 吗?
如果是这样,那自然是用 findviewbyid 的方式了。
或者你可以这样,当你做某个操作的时候,你设置你要覆盖的textview 为 setVisibility(xxx.GONE);
然后用我上面说的方式,将你的新的textview 加入到view中去,只需要改变上面的代码中 LinearLayout.LayoutParams lp = xxx.getLayoutParams(); 就可以了
= =,mainactivity有个已经绑定好的keyboardView,setContentView(keyboardView),没有任何layout(我不希望用到layout),我只是在这个kayboardView的draw函数和onTouch函数做了各种手脚。
本回答被提问者和网友采纳 参考技术B有两种方式初始化textView:
在xml布局中有textView ; textView=(TextView)findViewById(R.id.xxx);
代码控制:
LinearLayout linearLayout=new LinearLayout(Show.this);
TextView tv=new TextView(Show.this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
linearLayout.addView(tv,layoutParams );
问题有了补充
以上是关于androidstudio的textview怎么实现跑马灯的主要内容,如果未能解决你的问题,请参考以下文章
片段中的TextView在Android Studio中返回Null
如何在 Android 上的 textview 或 imageview 上设置涟漪效果?
Android Studio - EditText 输入移动 TextView