如何在Android中设置按钮文本动画?
我有一个按钮,上面写着文字,这个文字可能很大,所以它不适合按钮宽度,所以,我希望该文字在该按钮中水平设置动画,如果可能,我需要在按钮的特定部分设置动画,因为其他部分将被按钮背景图像占据: 这就是问题所在: 我想应用的解决方案是: 这就是我尝试过但没有成功的地方:如何在Android中设置按钮文本动画?,android,button,text,android-animation,Android,Button,Text,Android Animation,我有一个按钮,上面写着文字,这个文字可能很大,所以它不适合按钮宽度,所以,我希望该文字在该按钮中水平设置动画,如果可能,我需要在按钮的特定部分设置动画,因为其他部分将被按钮背景图像占据: 这就是问题所在: 我想应用的解决方案是: 这就是我尝试过但没有成功的地方: <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="0dp" a
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:layout_margin="3dp"
android:gravity="left"
android:background="@drawable/bg"
android:textAlignment="center"
android:text="Text Here Is Large"
android:scrollHorizontally="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:lines="1"
android:textSize="14sp"
android:textColor="@android:color/white"
android:paddingBottom="5dp"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:paddingTop="5dp"
android:clickable="true"
android:tag="tag1" />
添加以下行可以使选框效果生效:
android:singleLine="true"
如果一个按钮有焦点,字幕将运行
重要:
可选:
在XML中:
<Button
android:layout_width="150dip"
android:layout_height="wrap_content"
android:text="My button with a long text for marquee as a example source code"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="1"/>
我通过在FrameLayout中将按钮和自定义文本视图放在一起解决了这个问题,这个自定义文本视图是从中获得的,下面是我如何制作它的:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="3dp"
android:layout_weight="1" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:background="@drawable/some_image"
android:clickable="true"
android:tag="button1_tag" />
<com.example.ScrollingTextView
android:id="@+id/button1_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:lines="1"
android:marqueeRepeatLimit="marquee_forever"
android:paddingBottom="5dp"
android:paddingLeft="2dp"
android:paddingRight="26dp"
android:paddingTop="3dp"
android:singleLine="true"
android:text="zone1"
android:textColor="@android:color/white"
android:textSize="14sp" />
</FrameLayout>
发布完整的布局文件
<Button
android:layout_width="150dip"
android:layout_height="wrap_content"
android:text="My button with a long text for marquee as a example source code"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="1"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="3dp"
android:layout_weight="1" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:background="@drawable/some_image"
android:clickable="true"
android:tag="button1_tag" />
<com.example.ScrollingTextView
android:id="@+id/button1_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:lines="1"
android:marqueeRepeatLimit="marquee_forever"
android:paddingBottom="5dp"
android:paddingLeft="2dp"
android:paddingRight="26dp"
android:paddingTop="3dp"
android:singleLine="true"
android:text="zone1"
android:textColor="@android:color/white"
android:textSize="14sp" />
</FrameLayout>