2010-07-13 68 views
8

我有一个画廊与TextView以实现下面的图片段控制器。我可以通过ApiDemo的Gallery范例来实现它,但我在画廊的外观和感觉上落后了。Android上的文本画廊?

我想要做的背景,选定/取消选择和选定的项目将不会是锥体屏幕的中心。

任何想法或文章是最感谢。

image http://www.freeimagehosting.net/uploads/cce47da969.png

我曾尝试使用2种方式来获得。是:

  1. Gallery View
  2. horizontal ScrollView

的输出中得到的是下面的图片中:

image http://www.freeimagehosting.net/uploads/b4c1be5924.png

我有两个问题得到适当的输出。

在画廊查看,

  • 不能更改所选 Item.and的背景让它我们圆角。
  • 所选项自动显示在屏幕的中心水平位置。

在水平视图中,

  • textView的数目大更加复杂。
  • 无法找到类似于点击项目的方式。如果我使用开关盒。前面的问题再次出现。
+0

@ praveen-chandrasekaran:对不起,但你的按钮是什么添加。它看起来不像admob。 – Macarse 2010-07-13 13:34:20

+1

@Macarse:多数民众赞成谷歌移动Adsense:检查此链接:http://www.google.com/mobileads/publisher_home.html – Praveen 2010-07-13 13:40:57

+0

嗨@Praveen,Plz分享这个画廊的代码。我也试过这一点,并应用所有的东西,下面但没有成功PLZ帮助.... – AndroidDanger 2011-08-04 12:25:37

回答

10

地方这可绘制text_selector.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/round" /> 
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/round" /> 
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/round_selected" /> 
    <item android:drawable="@drawable/round" /> 
</selector> 

round.xml

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient android:startColor="#FFEF95" android:endColor="#FFEF95" 
      android:angle="270"/> 
<corners android:bottomRightRadius="14dp" android:bottomLeftRadius="14dp" 
    android:topLeftRadius="14dp" android:topRightRadius="14dp"/> 

</shape> 

round_selected.xml

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
    <gradient android:startColor="#F6A110" android:centerColor="#FFEF95" android:endColor="#F6A110" 
      android:angle="270"/> 
<corners android:bottomRightRadius="14dp" android:bottomLeftRadius="14dp" 
    android:topLeftRadius="14dp" android:topRightRadius="14dp"/> 

</shape> 

,这里是TextView的膨胀

<TextView  
     android:id="@+id/perioxi_select" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="Select Area" 
     android:gravity="center_vertical|center_horizontal" 
     android:background="@drawable/text_selector" 
     android:minHeight="60dp" 
     style="@style/FirstText" 
     android:layout_weight="1" 
     /> 

获得风格。应放置在res/valus/styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="FirstText"> 
     <item name="android:colorForeground">#f0f</item> 
     <item name="android:padding">4sp</item> 
     <item name="android:textSize">15sp</item> 
     <item name="android:textColor">#CC3300</item> 
     <item name="android:gravity">left</item> 
     <item name="android:typeface">monospace</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:colorBackground">#999</item> 
    </style> 
    </resources> 
+2

减去表示?这是新闻.. – weakwire 2010-07-14 15:10:58

+0

对不起。它发生错误。我以为只是高举你。你的回答不准确。但我有一些想法。谢谢。请编辑你的答案。 – Praveen 2010-07-14 16:21:00

+1

它是准确的,你只是设置android:background =“@ drawable/text_selector”到你的画廊的元素(我想它是一个TextView)..保存round.xml选择文件round_selected.xml和text_selector.xml到/ res/drawables和你'完成了。圆角和当你按下它们改变颜色。 – weakwire 2010-07-14 16:47:05