小编Ste*_*han的帖子

声明风格和风格之间的区别

我已经开始玩我的Android应用程序中的样式等,到目前为止我已经完成了所有工作.我完全理解指南的"风格" 部分.

但是,环顾四周,就像在这个帖子中一样,我无法弄清楚两者之间的区别(declare-stylablestyle).从我的理解中declare-styleable获取其中指定的属性并将其指定为可样式,然后从代码中根据需要更改它.

但如果这是它真正的功能,那么在布局中定义属性会不会更简单?或者声明一个指定它的样式?

android styles declare-styleable

23
推荐指数
1
解决办法
2万
查看次数

fitBounds()显示整个地球(如果地图首先隐藏然后显示)

我有一堆或多个标记,我想只显示包含它们的区域.我找到了一长串相似的问题(请参阅帖子底部的部分内容),但没有一个解决方案适合我.LatLngBounds是正确构建的,但是当我调用fitBounds时,结果如下: 在调用fitBounds()之后 代替: 应该是什么 任何人都可以在我的代码中发现明显的错误吗?

var opt = {
    zoom: 8,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map"),opt);
var box = new google.maps.LatLngBounds();
for(var i=0;i<list.length;i++){
    var p = new google.maps.LatLng(list[i].lat,list[i].lon);
    var marker = new google.maps.Marker({
        position: p,
        map: map
    });
    box.extend(p);
}
map.fitBounds(box);
map.panToBounds(box);
Run Code Online (Sandbox Code Playgroud)

我读过并试过的一些帖子(列表不全面):


编辑:如果(就像我在我的应用程序中那样)地图首先被隐藏,并且仅在稍后显示,这实际上会发生.我用这种方式隐藏它:

$('#map').hide();

并显示它:

$('#map').show(function(){
  //this is necessary because otherwise
  //the map will show up in the upper left corner 
  //until a window resize takes place
  google.maps.event.trigger(map, 'resize'); …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3 fitbounds

9
推荐指数
1
解决办法
5501
查看次数

使用ButterKnife在布局中使用多个<include />标记

我有一个布局,其中我多次包含相同的子布局,每个子布局具有不同的角色:

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <include
        android:id="@+id/settings_eco_seekarc"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        layout="@layout/settings_arc" />

    <include
        android:id="@+id/settings_comfort_seekarc"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        layout="@layout/settings_arc" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

如果我以这种方式找到视图,它会起作用:

View eco = root.findViewById(R.id.settings_eco_seekarc);
mEcoSeekArc = (SeekArc) eco.findViewById(R.id.settings_seekarc);
mEcoLeaf = (ImageView) eco.findViewById(R.id.settings_leaf_img);
mEcoText = (TextView) eco.findViewById(R.id.settings_text);
View cmf = root.findViewById(R.id.settings_comfort_seekarc);
mComfortSeekArc = (SeekArc) cmf.findViewById(R.id.settings_seekarc);
mComfortLeaf = (ImageView) cmf.findViewById(R.id.settings_leaf_img);
mComfortText = (TextView) cmf.findViewById(R.id.settings_text);
Run Code Online (Sandbox Code Playgroud)

我现在在我的项目中介绍ButterKnife,我希望我可以简单地注释每个视图(以下显然不起作用,我可以看到原因)并稍后使用每个包含的布局根注入它们:

@InjectView(R.id.settings_seekarc)
SeekArc mEcoSeekArc;
@InjectView(R.id.settings_leaf_img)
ImageView mEcoLeaf;
@InjectView(R.id.settings_text)
TextView mEcoText;
@InjectView(R.id.settings_seekarc)
SeekArc mComfortSeekArc;
@InjectView(R.id.settings_leaf_img)
ImageView mComfortLeaf;
@InjectView(R.id.settings_text)
TextView mComfortText;

//then later...
View eco = root.findViewById(R.id.settings_eco_seekarc);
ButterKnife.inject(this, eco);
View cmf …
Run Code Online (Sandbox Code Playgroud)

android butterknife

8
推荐指数
1
解决办法
3825
查看次数

Vue.js'v-bind:类'即使模型没有更新也不会更新

我有一个项目列表,我想将样式应用于当前选定的一个.我也在使用Vuex来管理状态.

我的列表组件:

const List = Vue.component('list', {
    template:
            '<template v-if="items.length > 0">' +
                '<ul class="list-group md-col-12">' +
                    '<a href="#" v-for="(item, index) in items" class="list-group-item list-group-item-action" v-bind:class="{ active: item.isActive }" v-on:click="selectItem(index);">{{ g.text }}</a>' +
                '</ul>' +
            '</template>'
    computed: {
        items: function() {
            return this.$store.state.items;
        }
    },
    methods: {
        selectItem: function (index) {
            this.$store.commit('selectItem', index);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我的商店:

const store = new Vuex.Store({
    state: {
        items: [],
        currentIndex: -1
    },
    mutations: {
        selectItem: function(state, index) {
            if (index === state.currentIndex) { …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuejs2

6
推荐指数
1
解决办法
6190
查看次数

动画更改活动之前的动画

我正在尝试做一些简单的事情,但我无法理解为什么它不起作用.
我要做的是:当我触摸ImageView时,它会在其上显示动画.然后,只有当动画结束时才会启动新活动.
相反,会发生的事情是新活动立即开始并且不显示动画.

这是动画xml:

<rotate android:interpolator="@android:anim/decelerate_interpolator"
    android:fromDegrees="-45"
    android:toDegrees="-10"
    android:pivotX="90%"
    android:pivotY="10%"
    android:repeatCount="3"
    android:fillAfter="false"
    android:duration="10000" />
Run Code Online (Sandbox Code Playgroud)

这是我用来调用它的代码:

public void onCreate( Bundle savedInstanceState )
{
    final ImageView ib = (ImageView)this.findViewById( R.id.photo );
    ib.setOnClickListener( new OnClickListener( ) {

        @Override
        public void onClick( View v )
        {
            Animation hang_fall = AnimationUtils.loadAnimation( Curriculum.this, R.anim.hang_fall );
            v.startAnimation( hang_fall );
            Intent i = new Intent( ThisActivity.this, NextActivity.class );
            ThisActivity.this.startActivity( i );
        }// end onClick
    } );
}// end onCreate
Run Code Online (Sandbox Code Playgroud)

正如你所看到的那样,我尝试为动画添加一些时间,但它不起作用.NextActivity立即启动,它不会等待ThisActivity中的动画完成.
知道为什么会这样吗?

android

5
推荐指数
1
解决办法
4398
查看次数

布局为listview标题

我有一个包含两个列表的布局.因为你不能把列表放在ScrollView我试图使用ExpandableListView一个自定义SimpleExpandableListAdapter,根据这个问题.
列表布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
    <ExpandableListView android:id="@+id/android:list"
        android:layout_width="fill_parent" android:layout_height="fill_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试添加标题时出现问题.如果我从代码创建布局,它可以工作,如下所示:

LinearLayout ll = new LinearLayout( this );
ll.setOrientation( LinearLayout.VERTICAL );
TextView t = new TextView( this );
t.setText( "some text" );
ll.addView( t );
ImageView i = new ImageView( this );
i.setImageResource( R.drawable.icon );
ll.addView( i );
getExpandableListView( ).addHeaderView( ll );
Run Code Online (Sandbox Code Playgroud)

如果我使用相同的布局,或者甚至比代码中的布局更简单,应用程序甚至会在屏幕上显示之前崩溃.这是我想要添加为上面列表标题的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:orientation="vertical" android:id="@+id/ll">
        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="some text"/>
        <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:src="@drawable/icon"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

和代码: …

android expandablelistview

2
推荐指数
1
解决办法
5384
查看次数