Android 布局问题高分求教
- XML code
<LinearLayout android:id="@+id/app_video" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:focusable="true" android:focusableInTouchMode="true" android:nextFocusRight="@+id/app_photo" android:nextFocusLeft="@+id/app_photo" > <ImageView android:id="@+id/video_icon" android:src="@drawable/video_selector" android:duplicateParentState="true" style="@style/MainItemImageStyle" android:paddingTop="170dip" android:paddingLeft="120dip" > </ImageView> <TextView android:paddingTop="0dip" android:duplicateParentState="true" android:paddingLeft="120dip" android:id="@+id/text_video" android:singleLine="true" style="@style/HomeTextStyle" android:text="@string/subtitle_video"/> </LinearLayout> <LinearLayout android:id="@+id/app_photo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:focusable="true" android:focusableInTouchMode="true" android:nextFocusRight="@+id/app_video" android:nextFocusLeft="@+id/app_video" > <ImageView android:id="@+id/photo_icon" android:src="@drawable/video_selector" android:duplicateParentState="true" style="@style/MainItemImageStyle" android:paddingTop="170dip" android:paddingLeft="120dip" > </ImageView> <TextView android:paddingTop="0dip" android:duplicateParentState="true" android:paddingLeft="120dip" android:id="@+id/text_video" android:singleLine="true" style="@style/HomeTextStyle" android:text="@string/subtitle_photo"/> </LinearLayout>
以下是TextView的样式
- XML code
<style name="HomeTextStyle"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">wrap_content</item> <item name="android:textColor">@drawable/main_item_text</item> <!--new add--> <item name="android:lines">1</item> <item name="android:ellipsize">marquee</item> <item name="android:marqueeRepeatLimit">marquee_forever</item> <item name="android:textSize">30sp</item> <item name="android:gravity">center</item> <item name="android:textStyle">bold</item> <item name="android:focusable">true</item> <item name="android:focusableInTouchMode">true</item> </style>
我现在设置的是两个LinearLayout可以左右切换聚焦,相应的图片会变(这个不用管),textview过长的时候没有跑马灯效果。
我的意思是当这个TextView的父标签被聚焦的时候,TextView也会被聚焦,因为我设置了android:focusable=true,但是没有跑马灯的效果,请教大家了如何才能实现这个跑马灯
[解决办法]
If it dose not work, Please try to use android:lines="1" and android:scrollHorizontally="true" instead of
android:singleLine="true"
[解决办法]
focusable=true这个不好用
[解决办法]
为何不行?当TextView 得到focus后才会有marquee的效果。你具体是遇到了什么问题?
下面是我做的测试,你可以参考下。
- Java code
package com.alex.hyperdialog;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class MarqueeTest extends Activity{ private TextView mTestView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.marquee_test_layout); mTestView = (TextView) findViewById(R.id.marquee_view); } public void onTextViewClick(View v) { mTestView.requestFocus(); }}