小编And*_*eas的帖子

用于包装内容的对话活动

与此相关的问题与对话活动以及如何制作这些全屏有关,但我的问题略有不同.我希望这些对话框包装活动内容.

现在,"对话活动"都继承了以下主题,

<style name="tabDialog" parent="@android:Theme.Dialog">
    <item name="android:windowBackground">@drawable/panel_background</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

清单中的活动定义示例,

<activity android:name=".TabSettingsActivity"
    android:theme="@style/tabDialog" android:excludeFromRecents="true"
    android:configChanges="keyboardHidden" />
Run Code Online (Sandbox Code Playgroud)

内容视图父视图定义如下,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:background="@layout/dialog_rounded_background"
    android:orientation="vertical">
Run Code Online (Sandbox Code Playgroud)

并且布局中的所有子视图还为两个维指定了wrap_content.我也试过使用RelativeLayout作为父亲,但同样如此.

在活动的onCreate中设置了内容视图后,我这样做了

  getWindow().setLayout(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT);
Run Code Online (Sandbox Code Playgroud)

这些东西实际上似乎都没有任何区别.问题主要与对话框高度有关,大约比必要大50%.对话框的一半只是死空间.将根视图维度设置为硬编码的dp单位可以解决问题,但这似乎是一种解决方法而不是解决方案.

任何人的想法?

提前致谢.

干杯

android android-layout

18
推荐指数
1
解决办法
6938
查看次数

Android Gradle 项目中对 Java 模块的构建类型支持?

G 天。

我有一个 Android Gradle 项目,它由 Android 模块和 3 个 Java 库模块(Android 模块所依赖)组成。

Android Gradle 插件支持构建类型(调试、发布等),我也希望能够将这些构建类型用于库项目,这样如果我启用调试,它将使用所有 4 个的调试源集模块。

但是,我不太确定如何为纯 Java 模块实现这一点。我知道我可以定义新的 sourceSets,但是无论如何配置 Gradle 构建脚本,以便在我更改 Android 模块的构建类型时 Java 模块的 sourceSets 更改?

提前致谢。

android gradle

5
推荐指数
0
解决办法
231
查看次数

Android:同步滚动两个不同的视图

我有一个棘手的问题,涉及两个不同视图的同步滚动.我已经创建了自己的自定义网格视图窗口小部件,左侧和顶部都有"粘性"视图,只有在网格的一个方向上.想想一个日历,你有时间在顶部,日期在左边,当你水平滚动时间时,日期视图应保持不变,当你垂直滚动日期时,时间视图应保持不变.

网格本身是使用垂直滚动视图中的嵌套水平滚动视图实现的.电网运行良好,所以没问题.由于粘性视图不在实际网格中,因此我在网格滚动视图中覆盖了onScrollChanged,并在用户滚动网格时以编程方式调用粘贴视图上的scrollTo.

这可以按预期工作,除了两个不同的视图开始滚动和结束滚动时有一个小的时间偏移.当您考虑滚动可能是在UI线程上线性执行时,我认为这是有道理的.

所有的视图都是滚动视图,我已经启用了平滑滚动和使用smoothScrollTo等,而不是尝试改进这一点,但它仍然是同样的问题.这个问题在较大的屏幕上尤为明显,例如三星Galaxy Tab,而在中小屏幕设备上则难以察觉.

任何帮助表示赞赏!如果有一个简单的解决方案,很好..如果它意味着新设计(满足上面的粘性视图用例),那么就这样吧.

用于触发编程的代码.滚动,水平相同

@Override  
protected void onScrollChanged(int x, int y, int oldx, int oldy) {  
   mListener.onScrollY(y);  
   super.onScrollChanged(x, y, oldx, oldy);  
}  
// which leads to,  
// Handle vertical scroll  
public void onScrollY(final int y) {  
   mCurrentY = y;  
   mVerticalScroll.smoothScrollTo(0, y);  
}  
Run Code Online (Sandbox Code Playgroud)

下面是XML布局,如果有任何帮助的话

实际网格,它是一个包含在垂直滚动视图中的水平滚动视图,网格项在嵌套的linearlayout中垂直添加
>

  < com.....VerticalScrollView  
    android:id="@+id/gridscroll" 
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent" 
    android:layout_below="@id/timescroll"
    android:layout_toRightOf="@id/vertscroll"  
    android:layout_alignTop="@id/vertscroll"  
    android:layout_marginLeft="2dp" android:scrollbars="none"  
    android:fadingEdge="none">   

    < com....HorizScrollView
    android:id="@+id/horizscroll"
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"
    android:scrollbars="none"  
    android:fadingEdge="none">  

    < LinearLayout android:id="@+id/grid"  
      android:layout_width="fill_parent"  
      android:layout_height="fill_parent"  
      android:orientation="vertical">  

      < /LinearLayout>  

      < /com.....HorizScrollView>  

      < /com.....VerticalScrollView>  
Run Code Online (Sandbox Code Playgroud)

水平粘滞视图

 < …
Run Code Online (Sandbox Code Playgroud)

android scroll gridview scrollview

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

标签 统计

android ×3

android-layout ×1

gradle ×1

gridview ×1

scroll ×1

scrollview ×1