【发布时间】:2018-02-17 01:12:06
【问题描述】:
我有两个布局,每个布局都包含 2 个 TextView。代码是这样的
第一个布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
>
<TextView
android:id="@+id/total_hours_spend"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/total_hours_spend"
android:textSize="14sp"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:textStyle="bold"
android:padding="@dimen/margin_padding_2dp"
android:background="@drawable/rectangle_selector"/>
<TextView
android:id="@+id/total_budget_spend"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/total_budget_spend"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:padding="@dimen/margin_padding_2dp"
android:textStyle="bold"
android:background="@drawable/rectangle_selector"
android:textSize="14sp"/>
</LinearLayout>
二次布局
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_padding_4dp"
android:padding="@dimen/margin_padding_4dp"
>
<TextView
android:id="@+id/training"
android:layout_width="@dimen/margin_0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:layout_margin="@dimen/margin_padding_2dp"
android:padding="@dimen/margin_padding_5dp"
android:text="Trainings"
android:textStyle="bold"
android:gravity="center"
android:textSize="17sp"
android:background="@drawable/background_selector"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
/>
<TextView
android:id="@+id/learning_programs"
android:layout_width="@dimen/margin_0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="Learning Programs"
android:padding="@dimen/margin_padding_5dp"
android:textStyle="bold"
android:textSize="@dimen/text_size_seventeen"
android:background="@drawable/background_selector"
android:gravity="center"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
/>
</LinearLayout>
对于这两种布局,我需要在使用 item_selectors 的背景图像之间切换。类似这样的东西
Back_Selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:state_enabled="true" android:drawable="@drawable/rounded_corner" />
<item android:state_focused="true" android:drawable="@drawable/rounded_corner"/>
<item android:drawable="@drawable/rounded_corner_grey"/>
</selector>
和 Rectangle_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:state_enabled="true" android:drawable="@drawable/blue_rectangle"/>
<item android:state_focused="true" android:drawable="@drawable/blue_rectangle"/>
<item android:drawable="@drawable/grey_rectangle"/>
</selector>
屏幕的默认设计是 TextView Training 和 TextView Total hours spend 应使用选择器 xml 文件中设置的相应可绘制对象突出显示。此外,两种布局中的 TextView 之一应始终处于活动状态.
问题是应用启动时只有Training 被高亮显示。在第二个布局中,两个 textView 都处于非活动状态。
当我在第二个布局上单击某些内容时,第二个布局中的 TextViews 将变为非活动状态。
我的意思是,在 4 个文本视图中,有两个应该一直处于活动状态。 但是使用上面的代码,我只有一个 TextVIew 处于活动状态。
我应该在此处进行哪些更改?
【问题讨论】:
-
你也可以发布 gray_rectangle、blue_rectangle、rounded_corner_grey、rounded_corner drawables 吗?
-
可绘制对象只是图像@Raghavendra
-
不活跃是什么意思?两个文本视图的文本大小不同,将 android:textSize="17sp" 设置为总小时数,看看你所期望的?
-
活跃我的意思是,对于第一个布局,textview 应该有rounded_corner 背景,对于第二个布局,textview 应该有一个背景 og rectangle_blue
-
我用过你的代码看起来很好我用了两个不同的图像 textview 在两个屏幕上突出显示。你可以仔细检查你的图像 blue_rectangle 和 gray_rectangle 一次吗?
标签: android xml android-layout layout